Autor Zpráva
HajekJirka
Profil
Dobrý den,
jak se správně odhlásit?
Je lepší používat session_unregister() nebo unset()?
Jaký v tom je rozdíl?
Děkuji
k
Profil *
http://cz2.php.net/manual/cs/function.session-unregister.php#43619
ernesto
Profil *
a co session_destroy() ?
fajzen
Profil
session_destroy() nie
session_unregister() - zlikviduje session
session_unset() - len vyprazdni hodnotu vlozenu v session
ernesto
Profil *
fajzen
session_destroy() nie - proč?

ty druhý dvě si popsal přesně naopak
tark
Profil
Nevidim duvod proc ne session_destroy(), prave naopak... odhlaseni delam nejak takhle:

session_destroy();
presmerovani na uvodni stranku administrace, kde se zobrazi logovaci form..
Aesir
Profil
Nevidim duvod proc ne session_destroy()

Tuším, že tato funkce pouze zruší samotnou session, ale ponechá data, tzn. by bylo lepší z pole $_SESSION nejdříve zrušit nastavená data (session_unset?).
DoubleThink
Profil *
IMHO je to skoro jedno - session_destroy() zkartuje na serveru celou session. Sice ponechá v aktuálně běžícím scriptu hodnoty $_SESSION a uživatelovu cookie se sessionID, ale na další stránce už stejně není s čím SID spárovat, takže se přiděluje nové.
ernesto
Profil *
session_destroy();
$_SESSION=array();
session_start();

samozřejmě pokud skript ještě neposlal žádnej výstup
DoubleThink
Profil *
Není absolutně žádný důvod přidělovat uživateli novou session během vykování programu.
Prostřední řádek bohatě stačí.
ernesto
Profil *
leda že bych do ní chtěl něco hned sypat a mam ve skriptu podmínky založený na session datech a nechci abych musel ošetřovat situaci, kdy session neexistuje
DoubleThink
Profil *
Ani tak ne.
Funkci session_destroy() musí předcházet session_start() - jinak nemá smysl a nic nedělá.
Není tedy důvod ji zkartovat a znovu založit.
ernesto
Profil *
))) no samozřejmě předpokládam, že session je nastartovaná
Toto téma je uzamčeno. Odpověď nelze zaslat.

0