Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][mysql] logowanie z przekierowaniem na różne podstrony, Zależnie od loginu i hasła (z jakiej są tabeli)
em-ba
post
Post #1





Grupa: Zarejestrowani
Postów: 202
Pomógł: 3
Dołączył: 6.01.2008
Skąd: Mazowieckie

Ostrzeżenie: (0%)
-----


Witam, chciałem się dowiedzieć jak można zrobić takie logowanie, które będzie sprawdzało, z której tableli pochodzi wpisywany login i hasło i w zależności od tego będzie przekierowywanie na właściwą stronę..

poki co korzystkam z:
  1. <?php
  2. mysql_connect ('localhost', 'root', 'krasnal') or die ("nie udało sie połączyć");
  3. mysql_select_db('fi_kur') or die ("Nie mozna zlokalizowac bazy danych");
  4.  
  5.  
  6.  if($_SESSION['zalogowany'] == 0)
  7.  {
  8. echo '<form id="LOGOWANIE" method="post" action="index.php" enctype="multipart/form-data"> <h2>Zaloguj się:</h2>
  9. <div>
  10. Login:<br />
  11. <input id ="login" type="text" name="login" maxlength="15"/><br /><br />
  12. Hasło:<br />
  13. <input id ="haslo" type="password" name="haslo" maxlength="10"/><br /><br />
  14. <input id ="zaloguj" type="submit" name="zaloguj" value="Zaloguj"/>
  15. <a href="form_rej.php"><input id ="zarejestruj" type="submit" name="zarejestruj" value="Zarejestruj"/></a>
  16. </div>
  17. </form>'; 
  18.  
  19. if (isset($_POST['login']) && isset($_POST['haslo']))
  20. {
  21.  $login = $_POST['login'];
  22.  $haslo = $_POST['haslo'];
  23.  $haslo= md5($haslo);
  24.  
  25.  $sql = "SELECT id FROM uzytkownicy WHERE login='".$login."' and haslo='".$haslo."'";
  26.  $result = mysql_query($sql) or die ('BLAD ->'. mysql_error() . '<br />'. $sql);
  27.  
  28.  if(mysql_num_rows($result) == 1) {
  29.  echo "zostałeś zalogowany jako: $login";
  30.  $_SESSION['login'] = $login;
  31.  $_SESSION['zalogowany'] = 1;
  32.  $_SESSION['czas'] = time();
  33.  header ('location: strona1.php');
  34.  }else {
  35.  echo '<div style="margin-left: 300px;"><br />
  36.  <span style="color: red; font-weight: bold;">Wpisz prawidłowy login i hasło</span></div>';
  37. }
  38. }
  39.  }
  40.  else {
  41. echo "Zostałeś zalogowany jako ".$_SESSION['login']."<br /><a href='index.php?log=wyloguj'>wyloguj</a>";
  42. $intTimeoutSeconds = 600;
  43.  
  44. if(isset($_SESSION['intLastRefreshTime']))
  45. {
  46. if(($_SESSION['intLastRefreshTime']+$intTimeoutSeconds)<time())
  47. {
  48.  header('location: index.php');
  49. }
  50. }
  51. $_SESSION['intLastRefreshTime'] = time();
  52.  }
  53.  
  54.  if ($_GET['log'] == "wyloguj") {
  55. header('location: index.php');
  56.  }
  57.  
  58. ?>


i myślałem, żeby to może przerobić w taki sposób, żeby do if {} dodać else if {} ale wówczas się nie loguje:
  1. <?php
  2. mysql_connect ('localhost', 'root', 'krasnal') or die ("nie udało sie połączyć");
  3. mysql_select_db('fi_kur') or die ("Nie mozna zlokalizowac bazy danych");
  4.  
  5.  
  6.  if($_SESSION['zalogowany'] == 0)
  7.  {
  8. echo '<form id="LOGOWANIE" method="post" action="index.php" enctype="multipart/form-data"> <h2>Zaloguj się:</h2>
  9. <div>
  10. Login:<br />
  11. <input id ="login" type="text" name="login" maxlength="15"/><br /><br />
  12. Hasło:<br />
  13. <input id ="haslo" type="password" name="haslo" maxlength="10"/><br /><br />
  14. <input id ="zaloguj" type="submit" name="zaloguj" value="Zaloguj"/>
  15. <a href="form_rej.php"><input id ="zarejestruj" type="submit" name="zarejestruj" value="Zarejestruj"/></a>
  16. </div>
  17. </form>'; 
  18.  
  19. if (isset($_POST['login']) && isset($_POST['haslo']))
  20. {
  21.  $login = $_POST['login'];
  22.  $haslo = $_POST['haslo'];
  23.  $haslo= md5($haslo);
  24.  
  25.  $sql = "SELECT id FROM uzytkownicy WHERE login='".$login."' and haslo='".$haslo."'";
  26.  $result = mysql_query($sql) or die ('BLAD ->'. mysql_error() . '<br />'. $sql);
  27.  
  28.  if(mysql_num_rows($result) == 1) {
  29.  echo "zostałeś zalogowany jako: $login";
  30.  $_SESSION['login'] = $login;
  31.  $_SESSION['zalogowany'] = 1;
  32.  $_SESSION['czas'] = time();
  33.  header ('location: strona1.php');
  34.  }else {
  35.  echo '<div style="margin-left: 300px;"><br />
  36.  <span style="color: red; font-weight: bold;">Wpisz prawidłowy login i hasło</span></div>';
  37. }
  38. }
  39. else if (isset($_POST['login']) && isset($_POST['haslo']))
  40.  {
  41. $login = $_POST['login'];
  42. $haslo = $_POST['haslo'];
  43. $haslo= md5($haslo);
  44.  
  45. $sql = "SELECT id FROM uzytkownicy1 WHERE login='".$login."' and haslo='".$haslo."'";
  46. $result = mysql_query($sql) or die ('BLAD ->'. mysql_error() . '<br />'. $sql);
  47.  
  48. if(mysql_num_rows($result) == 1) {
  49. echo "zostałeś zalogowany jako: $login";
  50. $_SESSION['login'] = $login;
  51. $_SESSION['zalogowany'] = 1;
  52. $_SESSION['czas'] = time();
  53. header ('location: strona2.php');
  54. }else {
  55. echo '<div style="margin-left: 300px;"><br />
  56. <span style="color: red; font-weight: bold;">Wpisz prawidłowy login i hasło</span></div>';
  57.  }
  58.  }
  59.  }
  60.  else {
  61. echo "Zostałeś zalogowany jako ".$_SESSION['login']."<br /><a href='index.php?log=wyloguj'>wyloguj</a>";
  62. $intTimeoutSeconds = 600;
  63.  
  64. if(isset($_SESSION['intLastRefreshTime']))
  65. {
  66. if(($_SESSION['intLastRefreshTime']+$intTimeoutSeconds)<time())
  67. {
  68.  header('location: index.php');
  69. }
  70. }
  71. $_SESSION['intLastRefreshTime'] = time();
  72.  }
  73.  
  74.  if ($_GET['log'] == "wyloguj") {
  75. header('location: index.php');
  76.  }
  77.  
  78. ?>


czy przyczyną moze być to, że do tabeli użytkownicy dane są dodawane ze strony przez formularz, a użytkownicy bezpośrednio w bazie?
Go to the top of the page
+Quote Post
Sabistik
post
Post #2


Administrator wortalu


Grupa: Przyjaciele php.pl
Postów: 960
Pomógł: 39
Dołączył: 21.10.2003
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Tytuł tematu nie spełnia wymagań regulaminu działu przedszkole. Zamykam. Prześlij poprawną formę do moderatora to otworzy.

Otwieram.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 04:33