Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql] logowanie z przekierowaniem na różne podstrony
Forum PHP.pl > Forum > Przedszkole
em-ba
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?
Sabistik
Tytuł tematu nie spełnia wymagań regulaminu działu przedszkole. Zamykam. Prześlij poprawną formę do moderatora to otworzy.

Otwieram.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.