despre mentinerea sesiunii...

Ai o întrebare legată de PHP? Incercăm să îi găsim soluţie. Sau poate doar vrei să publici un cod interesant.

Moderatori: Zamolxe, Moderatori

Avatar utilizator
Filo
PHPRomania Supporter
Mesaje: 7
Membru din: Vin Apr 14, 2006 2:11 am
Localitate: Bucuresti
Contact:

despre mentinerea sesiunii...

Mesajde Filo » Vin Noi 10, 2006 3:16 pm

Incerc sa fac o aplicatie web-based si am inceput cu autentificarea.
Am creat un tabel intr-o baza mySql pentru user, parola si alte detali.
Autentificarea mea functioneaza in felul urmator:
- formular log-in -> prima pagina autorizata unde se deschide sesiunea si se pastreaza in variabile de sesiune userul si parola
-> orice alta pagina care necesita autorizare incarca un fisier de verificare (care compara userul si parola cu cele continute in tabelul mysql) daca are acces... atunci poate sa vada pagina...daca nu...nu!
PROBLEMA:
folosesc IE7 si daca ma autentific si deschid mai multe tab-uri...pot intra intr-o sectiune a site-ului restrictionata fara a fi nevoie sa ma autentific doar copiind url-ul in bara de adrese.
Am incercat si cu session_destroy() insa degeaba! raman autentificat pana inchid browserul.
Fiind o "aplicatie" vreau ca utilizatorul sa poata face log-off si (eventual alt utilizator) log-on fara sa fie nevoit sa inchida browserul si sa il redeschida...
Nu stiu cum...
Va multumesc!


incepand de azi... INVAT !

Avatar utilizator
MihaiC
Senior Member
Mesaje: 1644
Membru din: Dum Mai 14, 2006 8:07 pm

Mesajde MihaiC » Vin Noi 10, 2006 3:22 pm

session_destroy();
session_unset();
Dev @

Avatar utilizator
Filo
PHPRomania Supporter
Mesaje: 7
Membru din: Vin Apr 14, 2006 2:11 am
Localitate: Bucuresti
Contact:

Mesajde Filo » Vin Noi 10, 2006 3:33 pm

da, am incercat... nu vrea...

A....
iata cum am incercat:
pe fiecare pagina "securizata" am pus un link catre pagina de autentificare (radacina siteului) index.php (= formularul de log-in).

<a href='index.php'>
TERMINA SESIUNEA DE LUCRU CURENTA
</a>

formularul incepe cu:

<?php
session_destroy();
session_unset();
?>
incepand de azi... INVAT !

Avatar utilizator
MihaiC
Senior Member
Mesaje: 1644
Membru din: Dum Mai 14, 2006 8:07 pm

Mesajde MihaiC » Vin Noi 10, 2006 4:29 pm

atunci pune si un session_start inainte
Dev @

Avatar utilizator
vectorialpx
Senior Member
Mesaje: 4832
Membru din: Mar Mar 01, 2005 9:48 am
Localitate: Bucuresti
Contact:

Mesajde vectorialpx » Vin Noi 10, 2006 4:38 pm

<?php
session_start();
session_unset(); // valorile din variabile
session_destroy(); // variabilele ce retin valorile
?>

Daemon7
PHPRomania Supporter
Mesaje: 21
Membru din: Joi Iul 21, 2005 5:22 pm
Localitate: Timisoara
Contact:

Mesajde Daemon7 » Vin Noi 10, 2006 4:44 pm

session_destroy si session_unset nu au efect imediat ce sunt apelate, ci abia la urmatoarea incarcare a paginii. Asta inseamna ca tebuie sa faci un redirect dupa ce ai facut session_unset si abia apoi sa faci verificarile
Incearca programul asta si o sa te convingi.

<?php
session_start();

$_SESSION['a']='b';

echo '1';
print_r($_SESSION);

session_destroy();

echo '2';
print_r($_SESSION);

session_unset();

echo '3';
print_r($_SESSION);


?>
Best regards,
Lapadat Bogdan aka Daemon7
www.lapadatbogdan.srv.ro

Avatar utilizator
vectorialpx
Senior Member
Mesaje: 4832
Membru din: Mar Mar 01, 2005 9:48 am
Localitate: Bucuresti
Contact:

Mesajde vectorialpx » Vin Noi 10, 2006 5:55 pm

tocmai asta spuneam domnule Daemon7, in caz ca n-ai observat...

<?php
session_start();
$_SESSION['a']='b';
echo '<br>1';
print_r($_SESSION);
session_unset();
echo '<br>2';
print_r($_SESSION);
session_destroy();
echo '<br>3';
print_r($_SESSION);
?>

asta nu are nevoie de redirect

trebuie intai unset apoi destroy
pentru ca daca dai destroy, n-are la ce sa mai faca unset ;)

cheers !

Avatar utilizator
Filo
PHPRomania Supporter
Mesaje: 7
Membru din: Vin Apr 14, 2006 2:11 am
Localitate: Bucuresti
Contact:

Mesajde Filo » Vin Noi 10, 2006 6:02 pm

va multumesc foarte mult!

dupa ce am adaugat
"session_start()"
in fisierul index.php (formularul de log-in) otul a mers ok

Mii de multumiri!
incepand de azi... INVAT !


Înapoi la “Cod PHP”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 13 vizitatori