Just nu i M3-nätverket
Jump to content

Logga ut en session


sjohan

Recommended Posts

Hur loggar man ut en session? Jag har en session som jag vill bli av med när man trycker på "logga ut" Hur gör man det? Kan man lägga det direkt i logga ut länken eller hur?

 

Nån som har lust att förklara?

Link to comment
Share on other sites

Ok. Men hur? Jag har nu en ordnat så att länken går till en sida som heter loggaut.php på den sidan så ska sessionen som heter login avslutas och så ska man skickas vidare till main.php. Hur ordnar jag detta?

 

<?

#Vad ska vara här?

Header("Location: main.php");

?>

 

Link to comment
Share on other sites

Skriv så här helt enkelt:

<?
session_destroy();
header("Location: main.php");
exit;
/* Glöm aldrig exit efter en header("Location: ..."), annars fungerar det inte i t.ex. Opera */
?>

 

Link to comment
Share on other sites

Det fungerar inte. Den loggar inte ut. Behöver man inte berätta för servern vad sessionen heter så att den vet vilken som den ska ta bort?

 

Link to comment
Share on other sites

Cariad glömde att starta sessionen först, är troligen därför det inte fungerar:

 

<?
session_start();
session_destroy();
header("Location: main.php");
exit;
/* Glöm aldrig exit efter en header("Location: ..."), annars fungerar det inte i t.ex. Opera */
?>

 

--

Some say I am crazy..but the Voices in my head disagree...

 

Link to comment
Share on other sites

Har ni någon bra förklaring till varför sessionen inte försvann när jag stängde av datorn? Borde den inte det? Är det kanske nån inställning i php.ini?

 

Link to comment
Share on other sites

Ja, jag glömde session_start(), förlåt ;)

 

Hur menar du att sessionen inte försvinner när du stänger av datorn? Försvinner den inte från klientsidan, eller inte från serversidan?

 

På klientsidan kan du styra hur många sekunder en session ska vara giltig med t.ex. session_set_cookie_params(1800) för 30 minuter. Sätt den till 0 för att göra sessionen giltig tills dess att användaren stänger webbläsarfönstret.

 

Om du däremot menar serversidan, så fungerar det så här:

Du startar sessionen med session_start(). Det finns då en specifik procentchans (som standard 1%) att sessions-modulen ska göra en upprensning.

När detta händer rensas alla gamla sessioner bort, vilket alltså betyder att sessionerna ligger kvar, sparade på servern men oanvändbara, tills dess att någon besöker en webbsida på din server (där du anropar session_start() samt att upprensningen upptsår) och då tas bort.

Alltså kan man säga att vid ungefär var 100:e besök så kommer gamla sessioner att rensas bort.

 

Link to comment
Share on other sites

Men det fungerar ändå inte. Jag får inte bort sessionen hur jag än gör. Ska detta fungera?

 

<?

session_start();

session_destroy();

header("Location: main.php");

exit;

?>

 

Det gör det inte. Jag har det på en egen sida och när jag vill logga ut så har jag en länk som går till denna sidan och då tycker jag att sessionen ska försvinna och sedan så ska den skicka vidare till main.php. Jag använder $_Session['login'] när jag kollar sessionen gör det nån skillnad? Hoppas att någon vet vad som är fel. Kan det vara fel någon annan stans? Typ där sessionen skapas eller nåt?

 

Jag lyckas inte och behöver få det att fungera snart. (Slutprojekt i programering a i skolan nämligen) Jättetacksam om någon kunde hjälpa mig.

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...