Problemer med Sessions
Hej folkens :)Jeg er igang med at lave noget login sytem/CMS system med sessions og MySQL. Jeg er lige begyndt på systemet, og jeg laver bare nogle små tests til at starte med. Men jeg er allerede løbet ind i problemer :( Men mon ikke I løser det? ;P
Jo men altså problemet er, at det ikke virker som om den "gemmer" mine sessions. Jeg kan ikke selv se hvor jeg har lavet fejl i koden, så nu kan I få lov til at kigge på det.
Sådan ser scriptet i min login fil ud: (Det skal siges at denne fil er included ind på siderne, - Det kan måske have noget at sige? Og udover det, så ligger denne fil heller ikke i samme mappe, som de filer som skal være beskyttede). :
<?
session_start();
$username = "test";
$password = "test";
$brugernavn = $_POST['brugernavn'];
$kodeord = $_POST['kodeord'];
if ($username == $brugernavn AND $password == $kodeord){
session_register("username");
session_register("logged_in");
$_SESSION["username"] = $username;
$_SESSION["logged_in"] = "TRUE";
echo "include files here...";
} else {
?>
<form method="post" action="<? echo $_SERVER['PHP_SELF']; ?>">
Username : <input type="text" name="brugernavn"><br />
Password : <input type="password" name="kodeord"><br />
<input type="submit" value="Login">
</form>
<?
}
?>
Og her er den kode som bør sende en, et bestemt sted hen, hvis man ikke er logget ind:
<?
session_start();
function tjek_login() {
if ($_SESSION["username"] == "" || $_SESSION["logged_in"] != TRUE) {
header("location:http://no_access.php");
return false;
} else {
return true;
}
}
tjek_login();
?>
Det har jeg så stående som næsten det øverste i filen..
Der er egentlig 2 problemer, fordi jeg kan heller ikke få min function til at virke? Kan ikke lige se hvorfor, man ikke bliver viderestillet.. Og så som sagt, det virker ikke som om at mine sessions bliver gemt korrekt. Selvom jeg logger ind, og går ind på en side, som burde være beskyttet, så siger den jeg ikke er logget ind. Altså hvis jeg nu fx har et script der skal sige det, i stedet for den der function.
Nogle der kan sige mig hvorfor? ;)
På forhånd tak :)
Mvh. Lasse Jensen
