Visa ett inlägg
Oläst 2006-05-15, 13:53 #13
zorans avatar
zoran zoran är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jun 2004
Inlägg: 598
zoran zoran är inte uppkopplad
Mycket flitig postare
zorans avatar
 
Reg.datum: Jun 2004
Inlägg: 598
Citat:
Ursprungligen postat av martine
Okej. Ett sista försök även om jag nog bara slösar bort min tid på det här. Jag antog från början såsom Jonas att session_destroy() måste kallas innan sidan skickas. Men om man läser php:s dokumentation för funktionen så står det inget om detta för session_destroy() till skillnad från för session_start etc. (Jag har redan påpekat detta i svarsinlägget på Jonas inlägg) Jonas skriver att session_destroy() har "all anledning", inte att den faktiskt gör eller måste. Jonas påpekar också att session_destroy() måste ta bort cookie:n, vilket är felaktigt vilket också står uttryckligt i php:s dokumentation (även detta har jag påpekat i svarsinlägget). Zoran skriver däremot att det "borde fungera" vilket verkar sannolikare.

Citat:
Ursprungligen postat av tartareandesire
Om du läser Jonas' inlägg och min bekräftelse så har du svaret där...
Suck. Din "bekräftelse" och dina övriga inlägg i tråden har inte hjälp mig mycket vidare.
tartareandesire: Eftersom du så ivrigt förespråkar Jonas åsikt så hoppas jag du nu tydligt och klart kan förklara för mig varför den är så solklar och var du har belägg för detta (har du testat?, står det i php-dokumentationen någonstans? eller tycker du bara att det är så?)

PS Jag tackar Jonas och Zoran för era meningsfulla inlägg även om de inte hjälpt mig till en lösning.
Alltså, det där att session_destroy() skulle ta bort kakor via headrar stämmer inte. session_destroy förstör data associerad med sessionen, men den nolställer inte några globala variabler associerade med sessionen. (Enligt dokumentation). För att ta bort kakor bör man använda setcookie().

För övrigt, jag förstår att det är svårt att sitta och implementera en lösning i en webbshop på 5 ställen bara för att se att den fungerar.

Men att göra en fil index.php
Kod:
<?
session_start();
$_SESSION['username'] = "Foobar";
?>
Hej kära <? echo $_SESSION['username']; ?>
<br >
Nu ska vi testa om jag kan döda dig<br>
<?
session_destroy();
?>
Jag undrar om du lever <? echo $_SESSION['username']; ?><br>
... är inte så svårt. Där får du se 1. att session_destroy inte mixtrar med headrar, och 2. att $_SESSION['username'] är fortfarande definierad, trots att session_destroy förstört all data associerad med den.

Du behöver kalla unset() också eller göra en $_SESSION = array(); innan du dödar sessionen för att nollställa det.

/Zoran
zoran är inte uppkopplad   Svara med citatSvara med citat