SoulGodMedlem sedan aug. 20051 200 inlägg Vad är det bästa sättet att tidsbegränsa ett loginscript?
Jag lyckas tametusan inte med att få $_SESSION att timeout,
den förblir inloggad trots att tiden har gått ut.
Nu har jag lagt in en "aktiv"-tid i databasen,
som vid varje klick lägger till 10 minuter på tiden,
och vid varje sidbyte så kollar den om man varit aktiv...
Vad skulle du rekommendera?
Och har du kanske en lösning med $_SESSION som fungerar?
( Kan bifoga kod vid önskemål )
1. Kolla om $_SESSION['timeout'] är en tidigare tidpunkt än nuvarande tidpunkt
2. (Om inte timeout) Sätt $_SESSION['timeout'] till nuvarande datum och tid.
Borde funka bra att göra så :)
Vid inloggning sparar du time(); som en session variabel och högst upp på varje sida kan du kolla om
if($_SESSION['tidpunkt'] + 900 <= time()){
// inloggad i mer än 15min, logga ut:
header("Location: logout.php");
exit();
}
// förnya tidstämpel
$_SESSION['tidpunkt'] = time();
Fast, ännu lättare är ju att sätta en <meta-refresh .../> på valfri tid och sen styra användaren till en logoutsida.
/RED
Ändrade koden ovan så att svaret stämmer :)
SoulGodMedlem sedan aug. 20051 200 inlägg Jag testade din kod , och skrev den som nedan,
då står det "direkt" att jag är utloggad..
kan det vara så att det ska vara <= istället för >= , eller är jag korkad?
if($_SESSION['tidpunkt'] + 900 >= time()){
echo "Du är utloggad";
}
*** EDIT ***
Det verkade funka mycket bättre :P
Va bra, så glömmer vi inte att "Markera som lösning" om du är nöjd med mitt svar, så när som på felvänt < då...
@ndersMedlem sedan juni 200032 969 inlägg
MickeA.com skrev:
Va bra, så glömmer vi inte att "Markera som lösning" om du är nöjd med mitt svar, så när som på felvänt < då...
Redigera också gärna ditt inlägg ovan så koden är rätt - så blir det lätt att hitta fin lösning sedan när SoulGod markerat inlägget. :)
mvh
SoulGodMedlem sedan aug. 20051 200 inlägg Förlåt - har inte hunnit in och markerat när jag testat färdigt :)
Har nu klickat som lösning - och tackar så hemskt mycket för hjälpen.