Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: pytanie dotyczace sesji
Forum PHP.pl > Forum > Przedszkole
alpin
witam, mam jedno pytanie, uzywam IE 5.0 , odpalam jedna przegladarke , loguje sie, rejestruja sie dwie zmienne, login i pass, w innym pliku sprawdza czy istnieja i w zaleznosci wyswietla odpowiedni kod, ale odpalam drugie okno przegladarki, calkiem nowe, wpisuje adres swojej stronki i pokazuje mi ze jestem zalogowany, czy to jest normalne ? przysiaglbym se ze przedtem przy odpaleniu nowej przegladarki nie bylem zalogowany, jak to jest ?

edycja: jak zamkne wszystkie okna przegladarki i odpale dopiero wtedy pokazuje mi ze jestem nie zalogowany, ale jak odpale jakies okno i w jednym sie zaloguje, to dopolki jest odpalone jakies okno przegladarki, to w kazdym innym jestem zalogowany.
kicaj
Bo sie logujesz na ciasteczkach, po zamknieciu okna one niszcza sie...
kszychu
Jest to jak najbardziej normalne zachowanie ciasteczek. Długość życia ciasteczka można określić na dwa sposoby: podając jego wielkość w sekundach, lub podając 0, co jest równowążne z życiem dopóki jest otwarte okno przeglądarki.
W pierwszym przypadku ciasteczko jest widoczne też dla innych okien przeglądarki, nawet, jeśli wszystkie zamkniesz, ale nie minie jeszcze czas podany jako długość życia. I to jest właśnie Twój przypadek.
alpin
ale moje logowanie nie jest oparte na ciasteczkach, w calym kodzie nigdzie nie mam zadnych cookies, tylko sesje, oto moje logowanie:
  1. <? 
  2. error_reporting(E_PARSE); 
  3.  
  4. include (&#092;"linki.php\");
  5.  
  6. $katalog=&#092;"users\";
  7. $koncowka=&#092;".php\";
  8.  
  9. function podaj_usera($u) { 
  10.  
  11. if((!isset($_SESSION['login'])) && (!isset($_SESSION['haslo']))) 
  12. { 
  13. $u = &#092;"<form ACTION=\".$_SERVER['PHP_SELF'].\" method='post'>\"; 
  14. $u .= &#092;"<input TYPE='hidden' name='c' value='1'>\"; 
  15. $u .= &#092;"Login: <input TYPE='text' name='log'><br>\"; 
  16. $u .= &#092;"Haslo: <input TYPE='password' name='pass'><br>\"; 
  17. $u .= &#092;"<input TYPE='submit' value='Zaloguj'>\"; 
  18. echo $u; 
  19. }else{ 
  20. echo 'Zalogowany jako: <b>'.$_SESSION['login'].'</b><br><br>';
  21. echo 'Wyloguj <a HREF=logout.php?'.session_name().'='.session_id().'><b>'.$_SESSION['login'].'</b></A><br>'; 
  22. } 
  23. }
  24.  
  25. function zaloguj_usera($p, $l, $h, $r) { 
  26.  
  27. if(!file_exists($p.'/'.$l.'/'.$l.$r))
  28. { 
  29. print 'Niestety ale nie znalazlem takiego uzytkownika !'; 
  30. podaj_usera($u); 
  31. exit(); 
  32. } 
  33.  
  34. @include($p.'/'.$l.'/'.$l.$r); 
  35.  
  36. $ok = (($l == $login) && ($h == $haslo)) ? 1 : 0; 
  37.  
  38. if($ok == 1) 
  39. { 
  40. $_SESSION['login'] = $l; 
  41. $_SESSION['haslo'] = $h; 
  42.  
  43. echo 'Zalogowany jako: <b>'.$_SESSION['login'].'</b><br><br>';
  44. echo 'Wyloguj <a HREF=logout.php?'.session_name().'='.session_id().'><b>'.$_SESSION['login'].'</b></A><br>'; 
  45.  
  46. } else {
  47. print 'Nieprawidlowe dane!'; 
  48. podaj_usera($u); 
  49. exit(); 
  50. } 
  51. } 
  52.  
  53.  
  54.  
  55.  ($_POST['c']==&#092;"\") ? print podaj_usera($u) : zaloguj_usera($katalog, $_POST['log'], $_POST['pass'], $koncowka); 
  56. ?>
Guest
A czy można tak jak dla ciasteczek ustwić czas zycia sesji lub aby sesja wgasała po zmknieciu okna przeglądarki??
Mianowici chodzi mi o to ze jak jestm zalogowany i zamkne przegladarke to nie chce aby pamietal seji bo moze sobie wpisac adres i dalej jest zalogowany,
np mam index.php, show.php, login.php, i inne.
i jak ktos zamknie przegladarke i wpisze show.php to wejdzie a powinno go przekierować na login.php??
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.