webForumDet fria alternativet

Sessionsproblem...

6 svar · 169 visningar · startad av GrodanBoll

GrodanBollMedlem sedan sep. 2001788 inlägg
#1

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
#2

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().

GrodanBollMedlem sedan sep. 2001788 inlägg
#3

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
#4

Ä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. :)

GrodanBollMedlem sedan sep. 2001788 inlägg
#5

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
#6

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().

GrodanBollMedlem sedan sep. 2001788 inlägg
#7

Då e session_destroy rätta grejjen för mig :)

Tackar :bire

/G

132 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)