Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wylogowywanie
Forum PHP.pl > Forum > PHP
Kajan
Mam problem, mam formularz logowania gdzie wpisuję albo zwykłego użytkownika albo administratora. Dla zwykłego użytkownika po wpisaniu loginu i hasła otwiera się strona lista.php a dla admina panel.php. Gdy wyloguje się z jednego albo z drugiego konta i ponownie wpiszę w przeglądarce adres strony lista.php lub panel.php to wyświetla się ona pomimo tego że kliknąłem wcześniej wyloguj. Jeżeli na tych stronach kliknę Odśwież ponownie pojawia się strona login.php tak jak powinno być dlaczego nie wylogowuje poprawnie.
Oto kody:
login.php
  1. <?php
  2.  
  3. $message="";
  4.  
  5. $login=$_POST['login'];
  6.  
  7. if($login){
  8.  
  9. $uzytkownik=$_POST['user'];
  10. $md5_haslo=md5($_POST['pass']);
  11. $host="localhost";
  12. $db_user="user";
  13. $db_password="haslo";
  14. $database="autoryzacja";
  15. mysql_connect($host,$db_user,$db_password);
  16. mysql_select_db($database);
  17. $rezultat=mysql_query("select id FROM logowania WHERE user='$uzytkownik' AND pass='$md5_haslo'");
  18. $row = mysql_fetch_row($rezultat);
  19. if ($row[0] == 1){
  20. session_register("user2");
  21. header("location:lista.php");
  22. }elseif ($row[0] == 2){
  23. session_register("admin");
  24. header("location:panel.php");
  25. }
  26. else {
  27. $message="Nieprawidłowa nazwa użytkownika lub hasło";
  28. }
  29. }
  30. ?>
  31.  
  32. <head>
  33. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2"/>
  34. <HR>
  35. <title>Logowanie</title>
  36. </head>
  37. <body>
  38. <? echo $message; ?>
  39. <form id="form1" name="form1" method="post" action="<? echo $PHP_SELF; ?>">
  40. <table>
  41. <tr>
  42. <td><b>Użytkownik: </td>
  43. <td><input name="user" type="text" id="user" /></td>
  44. </tr>
  45. <tr>
  46. <td><b>Hasło: </td>
  47. <td><input name="pass" type="password" id="pass" /></td>
  48. </tr>
  49. </table>
  50. <input name="login" type="submit" id="login" value="Zaloguj" />
  51. <HR>
  52. </form>
  53. </body>
  54. </html>

Wpisy w lista.php:
  1. <?php
  2. ini_set('session.cache_limiter','private');
  3. if(!session_is_registered("user2")){
  4. header("location:login.php");
  5. }
  6. ?>
  7. .....

Wpis w panel.php
  1. <?php
  2. ini_set('session.cache_limiter','private');
  3. if(!session_is_registered("admin")){
  4. header("location:login.php");
  5. }
  6. ?>
  7. ....


Pozdrawiam
CuteOne
A co to??

  1.  
  2. <?php
  3.  


  1. <?php
  2.  
  3. if($login){
  4.  
  5. $uzytkownik=$_POST['user'];
  6. $md5_haslo=md5($_POST['pass']);
  7. $host="localhost";
  8. $db_user="user";
  9. $db_password="haslo";
  10. $database="autoryzacja";
  11. mysql_connect($host,$db_user,$db_password);
  12. mysql_select_db($database);
  13. $rezultat=mysql_query("select id FROM logowania WHERE user='$uzytkownik' AND pass='$md5_haslo'");
  14. $row = mysql_fetch_row($rezultat);
  15.  
  16. if ($row[0] == 1) {
  17.  
  18. $_SESSION['User'] = 1;
  19. header("location:lista.php");
  20. }
  21. elseif ($row[0] == 2) {
  22.  
  23. $_SESSION['User'] = 2;
  24. header("location:panel.php");
  25. }
  26. else {
  27. $message="Nieprawidłowa nazwa użytkownika lub hasło";
  28. }
  29. }
  30. ?>
  31.  
  32. <head>
  33. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2"/>
  34. <HR>
  35. <title>Logowanie</title>
  36. </head>
  37. <body>
  38. <?php echo $message; ?>
  39. <form id="form1" name="form1" method="post" action="<?php echo $PHP_SELF; ?>">
  40. <table>
  41. <tr>
  42. <td><b>Użytkownik: </td>
  43. <td><input name="user" type="text" id="user" /></td>
  44. </tr>
  45. <tr>
  46. <td><b>Hasło: </td>
  47. <td><input name="pass" type="password" id="pass" /></td>
  48. </tr>
  49. </table>
  50. <input name="login" type="submit" id="login" value="Zaloguj" />
  51. <HR>
  52. </form>
  53. </body>
  54. </html>


  1. <?php
  2.  
  3.  
  4. if(!$_SESSION['User'] != 1) {
  5.  
  6. header("location:login.php");
  7. }
  8.  
  9.  
  10. ?>


Logout.php
  1. <?php
  2.  
  3. if($_GET['p'] == 'logout') {
  4.  
  5. }
  6. ?>

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.