Avatar billede rotco Juniormester
01. marts 2009 - 15:04 Der er 3 kommentarer og
1 løsning

Session virker ikke

Hej,

jeg kan ikke få session til at blive gemt og jeg har virkelig ingen anelse om hvorfor?

Her kommer login-formen:

<form action="#" method="post">
<input type="hidden" name="action" value="login"><br>
Brugernavn: <input type="text" name="logname" size="25"><br>
Kodeord: <input type="password" name="logpass" size="25"><br>
<input type="submit" name="submit" value="Login">
</form>

Her kommer scriptet som gemmer:

<?php
session_start();
$brugernavn = "brugernavn";
$kodeord = "kodeord";

IF($_POST['action'] == "login"){
    IF($_POST['logname'] == $brugernavn AND $_POST['logpass'] == $kodeord){
        $_SESSION['loggedin'] = "yes";
       
        echo "Du er logget ind";

    } ELSE {
        echo "Du er ikke logget ind";
}
}
?>

Den skriver ganske rigtigt på den side der at jeg er logget ind, og hvis jeg skriver echo "$_SESSION[loggedin]"; på den side så skriver den "yes".. Men når jeg så skal ind på nogle af de sikre sider, med denne kode:

<?php
session_start();
if($_SESSION['loggedin'] == "yes"){
echo "Du kan se denne side";
}
else
if($_SESSION['loggedin'] !== "yes"){
echo "Du kan ikke se denne side";
}
?>


Så virker det ikke... Det er som om at Session reelt set ikke bliver gemt.. Det er det eneste kode jeg har, men den virker bare ikk..
Avatar billede olebole Juniormester
01. marts 2009 - 16:33 #1
<ole>

Prøv disse to filer:

------------ index.php ------------
<?php
session_start();
$_SESSION['loggedin'] = "Yups";
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Untitled Document</title>
</head>
<body>
    <a href="index2.php">TEST</a>
</body>
</html>
------------ /index.php -----------

------------ index2.php -----------
<?php
session_start();
var_dump($_SESSION);
?>
------------ /index2.php ----------

Hvad sker der så?

/mvh
</bole>
Avatar billede coderdk Praktikant
01. marts 2009 - 17:20 #2
Husk at koden skal være det første på de sider der kræver login. Prøv at lave den om til:

<?php
session_start();

if($_SESSION['loggedin'] == "yes")
{
  echo "Du kan se denne side";
}
else
{
  die("Du kan ikke se denne side");
}
?>
Avatar billede rotco Juniormester
22. april 2009 - 00:12 #3
havde glemt den her tråd...

Giv mig et svar begge 2 inden 24 timer :) eller acceptere jeg selv... Takker :)
Avatar billede coderdk Praktikant
22. april 2009 - 00:30 #4
:)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester