Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]po odświeżeniu sesja wygasa
Forum PHP.pl > Forum > Przedszkole
neo1986kk
Witam, Po odświeżeniu strony, ale nie przyciskiem odśwież tylko na pasku adresu sesja mi automatycznie wygasa, prawdopodobnie uważałbym to za normalne, gdyby nie fakt, że na innym moim "dziele" jest ten sam skrypt i po takim zabiegu nadal jestem zalogowany. Zaraz wyjaśnię różnicę:

To jest kod który nie wygasa.
  1.  
  2. <?php
  3. ?>
  4.  
  5. if(isset($_POST['iduzytkownika']) && isset($_POST['haslo']))
  6. {
  7. // jeżeli użytkownik właśnie podjął próbę zalogowania
  8. $iduzytkownika = $_POST['iduzytkownika'];
  9. $haslo = $_POST['haslo'];
  10.  
  11.  
  12. include('polaczzbaza');
  13.  
  14. if (mysqli_connect_errno()) {
  15. echo 'Połączenie z bazą danych nie powiodło się: '.mysqli_connect_error();
  16. exit();
  17. }
  18.  
  19. $zapytanie = 'select * from handlowiec '
  20. ."where nazwisko='$iduzytkownika' "
  21. ." and haslo='$haslo' ";
  22.  
  23. $wynik = $bd_lacz->query($zapytanie);
  24. if($wynik->num_rows > 0)
  25. {
  26. // jeżeli dane są w bazie zarejestrowanie identyfikatora użytkownika
  27. $_SESSION['prawid_uzyt'] = $iduzytkownika;
  28. }
  29. }
  30. if(isset($_SESSION['prawid_uzyt']))
  31. {
  32. jeśli istnieje uzytkownik to....(instrukcje)
  33. }
  34.  
  35. }
  36. else
  37. {
  38. if(isset($iduzytkownika))
  39. {
  40. // jeżeli próba logowania była nieudana
  41. echo 'Zalogowanie niemożliwe.<br />';
  42. }
  43. else
  44. {
  45. // nie było próby logowania lub nastąpiło wylogowanie
  46. echo 'Użytkownik niezalogowany.<br />';
  47. }
  48.  
  49. // tworzenie formularza logowania
  50. (instrukcje)


a teraz ten który (nie dziala)
  1.  
  2. <?php
  3. ?>
  4.  
  5. if(isset($_POST['iduzytkownika']) && isset($_POST['haslo']))
  6. {
  7. // jeżeli użytkownik właśnie podjął próbę zalogowania
  8. $iduzytkownika = $_POST['iduzytkownika'];
  9. $haslo = $_POST['haslo'];
  10.  
  11.  
  12. include('polaczzbaza');
  13.  
  14. if (mysqli_connect_errno()) {
  15. echo 'Połączenie z bazą danych nie powiodło się: '.mysqli_connect_error();
  16. exit();
  17. }
  18.  
  19. $zapytanie = 'select * from handlowiec '
  20. ."where nazwisko='$iduzytkownika' "
  21. ." and haslo='$haslo' ";
  22.  
  23. $wynik = $bd_lacz->query($zapytanie);
  24. if($wynik->num_rows > 0)
  25. {
  26. // jeżeli dane są w bazie zarejestrowanie identyfikatora użytkownika
  27. $_SESSION['prawid_uzyt'] = $iduzytkownika;
  28. }
  29. zapytanie1="select * from handlowiec where login='$iduzytkownika'";
  30. $idzapytania1 = mysql_query ($zapytanie1);
  31. while ($wiersz1 = mysql_fetch_array($idzapytania1))
  32. {
  33. $active=$wiersz1[4];
  34. }
  35. }
  36. if(isset($_SESSION['prawid_uzyt']) && $active=='yes')
  37. {
  38. jeśli istnieje uzytkownik to....(instrukcje)
  39. }
  40. }
  41. else
  42. if(isset($_SESSION['prawid_uzyt']) && $active=='no')
  43. {
  44. jeżeli konto uzytkownika jest niekatywne to (instrukcje)
  45. }
  46. else
  47. {
  48. if(isset($iduzytkownika))
  49. {
  50. // jeżeli próba logowania była nieudana
  51. echo 'Zalogowanie niemożliwe.<br />';
  52. }
  53. else
  54. {
  55. // nie było próby logowania lub nastąpiło wylogowanie
  56. echo 'Użytkownik niezalogowany.<br />';
  57. }
  58.  
  59. // tworzenie formularza logowania
  60. (instrukcje)


Ciekawi mnie dlaczego tak się dzieje


Sam sobie odpowiem ale może komuś się to przyda.

$active też musi mieć postać SESSION - dlatego, że po powrocie czy odświeżeniu system już go nie pobiera z bazy.
gothye
jęśli oba skrypty są te same to może masz coś z time life session ?

  1. ini_set(&#8217;session.gc_maxlifetime’, ‘28800′);
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.