Rafał
G.
Programista
aplikacji
internetowych
Temat: Problem z wyczyszczeniem sesji
Sprawa wygląda tak, że jest jedna podstrona na której zapisuje się i są wyświetlane dane z sesji. Potem jest druga podstrona na której jest tak samo - dokładniej chodzi o formularz, taki z paroma krokami.Założyłem sobie, że na wypełnienie jest jakiś określony czas, po czym sesja wygasa i przekierowuje przy próbie przejścia do następnego kroku, do pierwszego kroku formularza. Oto część kodu odpowiedzialna za to (pierwszy krok formularza nie ma 'view', stąd ta część warunku.
Oto część kodu, która za to odpowiada:
ini_set("session.gc_maxlifetime","60");
ini_set("session.cookie_lifetime", "60");
ini_set("session.gc_probability", "100");
if(!isset($_REQUEST[session_name()]) && empty($_GET['view']))
{
session_start();
}
if(count($_SESSION) == 0 && !empty($_GET['view']))
{
header("Location: http://www.stronka.pl/katalog/zamowprogram.php5");
}
Problem polega na tym, że tablica $_SESSION nie zeruje się cała, co jest o tyle dziwne, że jak sesja wygasa (te 60 sekund to tylko dla moich testów), to ten drugi warunek jest spelniony i przekierowanie następuje, więc teoretycznie tablica $_SESSION jest pusta. Tylko, że jak już znajdę się w pierwszym kroku i wyświetlę sobie tablicę $_SESSION to są tam dane z drugiego kroku (a przecież powinno nie być tych danych) gdy więc przejdę do drugiego kroku mam już coś wpisane, choć tak być nie powinno (jakim cudem ten warunek by się spełnił?)
Nie rozumiem co jest grane, chyba, że czegoś tutaj nie wiem.