Hallo,

Op mijn website kun je inloggen.
Ik doe dit als volgt.
Als de gebruikersnaam en het paswoord goed zijn doe ik:
$userMode = $_SESSION['userMode'] = true;
print("<meta HTTP-EQUIV=\"REFRESH\" CONTENT=\"0;URL=log.php\">Login OK!!");

Op iedere pagina controleer ik dan of er ingelogd is door:
if(isset($_SESSION['userMode'])){
$userMode = ($_SESSION['userMode']==true);
}

Nu bleek dit eerst goed te werken.

Maar nu hoor ik van sommige gebruikers dat ze dikwijls niet ingelogd geraken.
Ze krijgen wel dat de login OK is. Maar ze zien de pagina's net alsof ze niet ingelogd geraken.

Heeft iemand enig idee hoe dit kan komen?
<?php
$userMode = $_SESSION['userMode']==true ? true : false;
?>

Dit lost mijn probleem nog niet op.
Waarom doe je $userMode = $_SESSION... ?

Je wilt een session zetten, dan begin je toch gewoon met $_SESSION etc
Dit slaat nergens op:
$userMode = $_SESSION['userMode'] = true;

Om te setten doe je dit;
session_start();
$_SESSION['userMode'] = true;

Om te checken dit:
session_start();
if(isset($_SESSION['userMode']) and $_SESSION['userMode'] == true)
{
// hier de beveiligde pagina
}
else
{
// ga naar het login-scherm
}
santhe, het klopt wel enigzins, tis een verkorte if, door de missende () lijkt het alleen een beetje vucked
inderdaad, het komt overeen met mijn code.
De session_start() doe ik ook.

Reageren