Sesje w PHP

Języki, których efekty są wykonywane po stronie serwera. PHP, ASP czy CGI w połączeniu z bazami danych SQL dają niezwykłe możliwości budowy i zarządzania stron WWW. Tu zadajemy pytania oraz demonstrujemy kod, z którym mamy problem.
lomax23
Posty: 3
Rejestracja: czw lis 18, 2004 9:56 am

Sesje w PHP

Post autor: lomax23 »

Stworzyłem sesję tak jak jest to opisane w różnych książkach, tutorialach itp. i nie działa mi tak jak powinna. Jeśli się zaloguję i obejrzę chronione strony i się wyloguję, to mogę wrócić do tych chronionych stron przyciskiem "wstecz" przeglądarki (Mozilla) co jest chyba trochę sprzeczne z ideą sesji. Jeśli ktoś może mi pomóc, to będę wdzięczny.
riker
Nowy
Nowy
Posty: 100
Rejestracja: sob wrz 25, 2004 2:03 pm
Lokalizacja: Wrocław

Re: Sesje w PHP

Post autor: riker »

Hmm...a usuwasz sesje przy wylogowaniu?
szejk
Nowy
Nowy
Posty: 31
Rejestracja: pt wrz 17, 2004 1:43 pm
Kontakt:

Re: Sesje w PHP

Post autor: szejk »

jeśli chcesz usunąć sesje to daj tak:
session_unset ();
session_destroy ();
lomax23
Posty: 3
Rejestracja: czw lis 18, 2004 9:56 am

Re: Sesje w PHP

Post autor: lomax23 »

Sesja jest niszczona przy wylogowaniu.
Wygląda na to, że przeglądarka przechowuje w cachu dane z formularza logowania czy coś w tym rodzaju i przy wciśnięciu przycisku "wstecz" wysyła dane do serwera. Chociaż z drugiej strony jeśli się zaloguję, obejżę chronione strony i się wyloguję to po wciśnięciu "wstecz" mogę oglądać chronione strony. Ale jeśli wtedy na tych stronach kliknę "wyloguj", to mi wypisuje, że nie jestem zalogowany.
Vic
Nowy
Nowy
Posty: 171
Rejestracja: sob mar 13, 2004 1:55 pm
Lokalizacja: Warszawa
Kontakt:

Re: Sesje w PHP

Post autor: Vic »

Umieść prosty warunek na każdej chronionej stronie:
[php]<?php
if ($_SESSION['logged']==1) {

//treść strony

} else {
echo "Nie jesteś zalogowany";

?>[/php]

logged to zmienna sesyjna którą ustawiasz na 1 podczas logowania.
Po wylogowaniu (usunięciu sesji) zmienne są kasowane, a więc przetwarzany jest warunek else.
U mnie działa to na 100%.
baztek
Posty: 6
Rejestracja: śr gru 01, 2004 10:16 pm

Re: Sesje w PHP

Post autor: baztek »

Czy w kodzie podanym przez Vica jest wszystko OK? Wrzuciłem go na stronkę i cały czas pokazuje mi, że nie jestem zaalogowany.
iro
Moderator
Posty: 402
Rejestracja: pt gru 19, 2003 8:20 pm
Lokalizacja: Szczecin

Re: Sesje w PHP

Post autor: iro »

Przegladarka cache'uje sobie strone. Spróbuj wcisąć odświerz i zobacz co się stanie ;).
pbern
Nowy
Nowy
Posty: 63
Rejestracja: pn lis 24, 2003 10:30 pm

Re: Sesje w PHP

Post autor: pbern »

jak juz jestesmy przy sesjach to czy moze mi ktos zdradzic jak zainicjowac sesje aby byla wazna np 2H?
ODPOWIEDZ