Hej hej
Jag har en logout-sida som ska radera alla sessionsvariabler. Detta fungerar fint på min testburk men strular när jag lägger upp den på mitt webbhotell (linux.se).
Koden ser ut på detta sätt:
<?php
// sätt igång sessionshanteringen
session_start();
// nu ska vi rensa sessionsvariablerna
unset($_SESSION['session_medlId']);
unset($_SESSION['session_rattighet']);
include 'includes/sidhuvud.inc.php'
?>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="100%" valign="top">
<span class="rub2">Du är nu utloggad.</span>
$_SESSION['session_medlId'] = <?php echo $_SESSION['session_medlId'] ?>
</td>
</tr>
</table>
<?php include 'includes/sidfot.inc.php' ?>
Jag försöker att skiva ut den ena sessionsvariabeln för att kolla å att det funkar. Och det finns inget kvar i denna variabeln på både min testmaskin o på webbhotellet.
Men när jag sedan går till indexssidan (påwebbhotellet) så visar den att jag fortfarande e inloggad.
Någon som vet varför?
Testmaskinen är windows med php ver. 4.2.1.
Webbhotellet har Linux med php ver. 4.1.2.
/GrodanSomHadeSlititSittHårOmHanHadeHaftNåge ;)
MatteMedlem sedan aug. 20002 975 inlägg Jag har råkat ut för det där när register_globals=On. För att ta bort en sessionsvariabel måste man då använda session_unregister("variabel");
Enligt manualen ska man isåfall sätta variabeln med session_register().
Meeeen va faaan då :(
Det vägrar jag göra (får skriva om en hel del), då får de ja jädrar stänga av webbläsaren när de loggar ut...
Tackar för svaret :)
/G
MatteMedlem sedan aug. 20002 975 inlägg Är det en ren utloggning du ska ha så tror jag det ska fungera med session_destroy(); efter dina unset.
unset($_SESSION['session_medlId']);
unset($_SESSION['session_rattighet']);
session_destroy();
Är inte 100% säker, men tror det ska fungera. Trodde du bara ville ta död på några av sessionsvariablerna. :)
Japp, jag ville ta bort ett par sessionvariabler.
Men skulle jag använda session_unregister och session_register så hade jag ju fått skriva om all sessionskod. Och DET vill jag minsann inte göra. ;)
Jag ska testa med session_destroy.
Tackar så länge :bire
/G
MatteMedlem sedan aug. 20002 975 inlägg session_destroy() tar död på sessionen, vilket kanske är lämpligt vid en utloggning. Vill du ha sessionen igång och ändå ta bort sessionsvariablar så måste man, enligt min erfarenhet, när register_globals är till använda session_unregister().
Då e session_destroy rätta grejjen för mig :)
Tackar :bire
/G