lejzerMedlem sedan juni 2002263 inlägg Hej!
Har 2 små frågor. För att kolla om en session är aktiv så kollar jag med hjälp av isset. Är detta rätt?
För när jag ska döda en session med följande:
session_start();
unset($_SESSION['sessid']);
unset($_SESSION['remoteip']);
så kommer jag ändå in på sidan jag skyddar. Gör jag fel på min kontroll eller är det fel sätt att döda sessionen på? Kontrollen ser ut så här:
if (!isset($_SESSION['sessid']) | $_SESSION['remoteip'] != $_SERVER['REMOTE_ADDR']) {
header("location: ./index.php");
}
Tack på förhand
Kan tillägga att det fungerar om jag skriver följande istället för unset:
$_SESSION['sessid'] = "";
giikMedlem sedan mars 2002112 inlägg I mina filer har jag så här och det funkar bra för mig tycker jag. Kommer inte åt nånting sedan i alla fall...
<?
session_start();
session_unset();
session_destroy();
?>
Hoppas det löser sig för dig i alla fall! :)
MatteMedlem sedan aug. 20002 975 inlägg
Kan tillägga att det fungerar om jag skriver följande istället för unset:
$_SESSION['sessid'] = "";
Det var intressant. För det finns en bug i PHP (ska bli fixad i 4.3) som gör att unset på en sessionsvariabel fungerar inte när register_globals=On.
Själv använder jag, i det fallet, för att ta död på en session:
session_unset();
session_destroy();
session_destroy() använder jag i vilket fall för att ta död på sessionen.
lejzerMedlem sedan juni 2002263 inlägg Tack för era svar. Lyckades lösa det på följande sätt för att även döda sessionsid:et och skapa ett nytt:
session_start();
session_destroy();
unset($_COOKIE[session_name()]);
session_start();
Tack ändå!