Avatar billede kongfjong Nybegynder
08. juni 2005 - 17:43 Der er 6 kommentarer og
1 løsning

Problemer med cookies

Hej;

Jeg roder lidt med cookies, for at få autologin påmit site.

Derfor sidder jeg med lidt øvelser,men kan ikke rigtigt få det til at virke. Har følgende tre scripts

LISTING 15.7
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <title>Listing 15.7 User Login Form</title>
</head>

<body>
<h1>Login Form</h1>
<form method="post" action="listing15.8.php">
<p><strong>Username:</strong><br>
<input type="text" name="username"></p>

<p><strong>Password:</strong><br>
<input type="password" name="password"></p>
<p><input type="submit" name="submit" value="Login"></p>
</form>
</body>
</html>

LISTING 15.8
<?php
include("mysqlconn.php");

$brugernavn = $_POST['username'];
$kodeord = md5($_POST['password']);

$sql = "SELECT * FROM users WHERE binary username = '$brugernavn' AND binary password = '$kodeord'";
$sql_res = mysql_query($sql, $conn) or die(mysql_error());

if (mysql_num_rows($sql_res) == 1)
{
    setcookie("auth", "1", 0, "/", "yourdomain.com", 0);
   
    $msg = "<p>$brugernavn er godkendt!</p>";
    $msg .= "<p>Godkendte brugeres menu:<ul><li>";
    $msg .= "<a href=\"listing15.9.php\">Secret page";
    $msg .= "</a></ul>";
}
?>

<html>
<head>
<title>Listing 15.8 User Login</title>
</head>
<body>
<?php print $msg; ?>
</body>
</html>

LISTING 15.9
<?php
if ($_COOKIE[auth] == "1")
{
    $msg = "<p>Du er en godkendt bruger.</p>";
}
?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <title>Listing 15.9 Accesing a restricted page</title>
</head>

<body>

<?php print $msg; ?>

</body>
</html>

Mitproblem er, at når jeg har kørt 15.7 og er blevet godkendt, så burde der være oprettet en cookie, men når jeg går ind på listing 15.9 kommer der ikke nogen besked som der burde, hvis cookien var sat.

Nogen der kan se problemet?
Avatar billede mysli Nybegynder
08. juni 2005 - 17:57 #1
I listing 15.9

skriv "if ($_COOKIE['auth'] == 1)" i stedet
Avatar billede kongfjong Nybegynder
08. juni 2005 - 18:00 #2
Det hjalp desværre ikke..

Er det noget med at man skal slå cookies til på maskinen? Hvis ja, hvordan sikrer jeg mig så, at de er det?
Avatar billede sungdk Nybegynder
08. juni 2005 - 20:00 #3
setcookie("auth", "1", "", "/", "yourdomain.com");
Avatar billede kongfjong Nybegynder
08. juni 2005 - 20:50 #4
Tak for hjælpen ellers, men har selv fundet ud af problemet:)
Avatar billede ksoren Nybegynder
08. juni 2005 - 20:56 #5
Hvis du baserer autologin udelukkende på en cookie, kan alle logge ind selvom de ikke har en konto. En cookie kan jo ændres af brugeren selv
Avatar billede ksoren Nybegynder
08. juni 2005 - 20:57 #6
** på cookie af denne type,, hvor du blot sætter en auth=1 variabel
Avatar billede kongfjong Nybegynder
09. juni 2005 - 18:33 #7
Okay. Hvordan vil du foreslå man laver autologin? Får har også opdaget at det jeg fik konstrueret ikke virker i Firefox Mozilla....
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

IT-JOB

Kræftens Bekæmpelse

IT-driftsleder

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Senior specialister (DevSecOps) til Forsvarets nye Digitale Backbone

Riskpoint A/S (Riskpoint Solutions Limited)

Senior Developer