Ahoj,
pomozte mi, prosím, s ukočení některých částí relace. Např jsem si do SESSION vložil určitou hodnotu ($_SESSION['nazevSession'] ) se kterou v pohodě pracuji. Vedle této "sešny" si vytvářím další...
Poté co ale chci jednu "sešnu" smazat (nemohu tedy použít příkaz session_destroy pro hromadné smazání všech relací) pomocí příkazu "session_unregister()" nic se nestane.
Není to tím, že jsem založil "sešnu" místo příkazem "session_register()" modernější příkazem $_SESSION['nazevSession'] ?
Děkuji za jakékoliv rady¨
Michal
Momentek... našel jsem příkaz "unset", který (asi) všechno pořeší :) :)
pletes si session a session promennou. Session se vytvari (resp. obnovuje), kdyz ve skriptu volas session_start() (nebo automaticky, pokud mas nastaveno session.auto.start na 1). Pak si nadefinujes nejake session promenne - mozno dvema zpusoby.
1) session_register(), session_unregister(), session_is_registered(). Session promenne jsou pote pristupne jako jakekoli jine promenne.
2) pouzitim superglobalniho pole $_SESSION.
vytvoreni session promenne: $_SESSION['promenna']="hodnota"
zjisteni session promenne: isset($_SESSION['promenna'])
zruseni session promenne: unset($_SESSION['promenna'])
hodnota promenne: $_SESSION['promenna']
Nesmis oba zpusoby michat.
lepší je session_unregister(); nicméně žádný z příkazů na zrušení session není 100% spolehlivý.
ještě je nějaká fce tušim destroy() nebo session_destroy()
tys to asi nepochopil. Session_unregister() muzes pouzit jen v pripade, kdy jsi session promennou vytvoril prikazem session_register(). Dale tento prikaz onu globalni promennou nezrusi, pouze ji vylouci od session. Kompletni zruseni promenne se musi provest prikazem unset().
>žádný z příkazů na zrušení session není 100% spolehlivý.
jak jsi proboha prisel na TOHLE?!
>ještě je nějaká fce tušim destroy() nebo session_destroy()
session_destroy(), ta se chova podobne, jako session_unregister(), ale znici _vsechna_ data patrici k session. Neznici ovsem session samotnou, ani vytvorene globalni promenne.
nene... session_unregister funguje vzdy takisto ako unset... rozdiel je len v tom ze pri unset sa musi vlozit cela premenna (napr. unset($_SESSION['test'])) a v session_unregister len jej nazov (session_unregister("test"))...
btw. inak sam pouzivam definovanie session cez $_SESSION['test'] = "hodnota" a potom ich unregistrujem cez session_unregister("test")
timbulko: tak to pouzivas blbe. Co jinyho ti na to mam rict? No mozna ti to funguje, pokud mas zapnute register_globals, coz je nejvetsi kravina, jakou bych na hostingu hledal... Na wz ti to pobezi, ale treba na pipni.cz a jinych uz ne. A pak se teprv budes divit..
donny, nebudu se hadat, ale uvedom si ze nemusis mit vzdycky pravdu.
Marcus: ja to taky netvrdim. Vis moc dobre, ze uznam, kdyz nemam pravdu. Ale tady to neni o pravde. Jen vykladam fakta, ktera jsou pevne dana a neexistuje zadne ale. Sorry, ale podle me programovani neni o tom, ze si tohle a tamto budu pouzivat, jak se mi libi. Ta pravidla jsou takova a musi se prece dodrzovat. Kdo to nedela, driv nebo pozdeji na to dojede. A to je pak spousta threadu "mne to nefunguje" a "pomoc, co mam delat?"...
<HTML>>>nicméně žádný z příkazů na zrušení session není 100% spolehlivý.
To asi nebude to prave tvrzeni, slo by asi hodne velky bug moct vytvaret promenne a nemoct je zrusit zvlast kdyz se jedna o trvalejsi promenne nez na jeden request</HTML>