Husker ikke min sessions
Jeg har følgende kode:<?PHP
session_start();
if(!$_SESSION['loget_in'] == 1) {//Hvis brugeren ikke er logget in
header("Location: /ekintra/login.php");//Sender brugeren videre
exit;//Sørger for at resten af koden, ikke bliver udført
}
blablabla- og alt muligt andet kode herunder.
Denne kode skulle gerne virke som spærring for, at hvis man ikke er logget ind, så kan man ikke komme ind på siden.
Problemet er bare, at selv efter jeg er logget ind, så husker den ikke, at jeg er logget ind.
Her er login-testen:
<?php
$serverroot = $_SERVER['DOCUMENT_ROOT'];
$includepath = $serverroot . "/ekintra/myconf.php";
include($includepath);
//session_start();
$conn = mysql_connect("localhost",$dbuser,$dbpass);
mysql_select_db("ekintra");
if(!isset($_POST['Submit'])) { //Tester om brugeren kom fra login.html
echo "Du skal komme fra login.php";
}else{
$brugernavn = $_POST['brugernavn'];
$adgangskode = $_POST['adgangskode'];
$resultat = mysql_query("SELECT Id FROM brugere WHERE brugernavn = '$brugernavn' AND adgangskode = '$adgangskode'");
$number = mysql_num_rows($resultat);//Tæller antaller af resultater
if($number == 1) { //Hvis der kun er et resultat, bliver brugeren logget in
$_SESSION['loget_in'] = 1;
$_SESSION['Brugernavn'] = $brugernavn;
$_SESSION['Password'] = $adgangskode; //Sætter session variablerne
echo "Du er nu logget in";
}else echo"De indtastede oplysninger er ikke korrekte";
}
?>
</body>
</html>
Det underlige er, at det fungerer fint nok på mit arbejde, men ikke derhjemme på min egen maskine.
Jeg kører WinXP Home, Apache2, PHP5.
