Avatar billede webfreak Nybegynder
12. juli 2008 - 19:32 Der er 4 kommentarer og
1 løsning

Problem med admin-system med cookies

Hej eksperter.

Jeg har været igang med et rimeligt simpelt admin-system, hvor jeg har prøvet at få cookies og selve login-formen til at virke, men det har desværre ikke lykkes så godt indtil videre.

Indtil videre ser min admin-side sådan ud (det er et udkast, som jeg skal have bygget videre på):
<?php
include("mysql.php");

$password = $_POST[password];
setcookie("", $_POST['password'], time()+3600);

if($password == $pass) {
print "Du er nu logget ind som administrator";
}
elseif ($password != $pass) {
print "Passwordet er forkert. Du sendes nu tilbage.
<meta http-equiv=\"refresh\" content=\"1;URL=admin2.php\"></p>";
}
elseif(empty($pass)) {
print "<div class=head>Fejl!</div>
<p>Du skal indtaste et password. Du sendes nu tilbage.
<meta http-equiv=\"refresh\" content=\"1;URL=admin2.php\"></p>";
}

else {
print "
<form action=\"$PHP_SELF\" method=\"post\">
<input type=\"hidden\" class=\"box\" name=\"sendt\" value=\"yes\">
<b>Skriv dit password:</b><br>
<input name=\"pass\" type=\"password\" id=\"password\" maxlength=\"10\"><br>
<input type=\"submit\" name=\"Submit\" value=\"Log ind\"><br>";
}

?>

Problemet med dette er, at den logger ind uden at vise login-formen, den "springer" nærmest bare til "Du er nu logget ind som administrator" og jeg er heller ikke sikker på at de cookies, der er sat, virker rigtigt. Jeg har efterhånden været rundt ved lignende spørgsmål, men jeg har ikke kunnet få det til at virke, som jeg gerne ville. Jeg ved godt at nogen deler koden i to filer, men hvis det på nogen måde kan laves med kun én fil, så er det det den skal. Hvis der var nogen der ville kigge på det, ville det være rigtig dejligt. Det er efterhånden blevet en æressag, at få det til at virke.
På forhånd tak.
Avatar billede erikjacobsen Ekspert
12. juli 2008 - 20:33 #1
Hvor kommer $pass fra ?
Avatar billede alexander_j Nybegynder
12. juli 2008 - 20:42 #2
<?php
//include("mysql.php");

$pass = "123456";

$form = $_POST["form"];
$password = $_POST["pw"];
setcookie("", $password, time()+3600);

if( $form == "yes" and $password == $pass) {
  print "Du er nu logget ind som administrator";
} elseif ($form and $password != $pass) {
  print "Passwordet er forkert. Du sendes nu tilbage.
  <meta http-equiv=\"refresh\" content=\"1;URL=admin.php\"></p>";
} elseif($form == "yes") {
  print "<div class=head>Fejl!</div>
  <p>Du skal indtaste et password. Du sendes nu tilbage.
  <meta http-equiv=\"refresh\" content=\"1;URL=admin.php\"></p>";
} else {
  print "
  <form action=\"$PHP_SELF\" method=\"post\">
  <input type=\"hidden\" class=\"box\" name=\"form\" value=\"yes\">
  <b>Skriv dit password:</b><br>
  <input name=\"pw\" type=\"password\" id=\"pw\" maxlength=\"10\"><br>
  <input type=\"submit\" name=\"Submit\" value=\"Log ind\"><br>";
}
?>

^^Måske noget i den retning?
Avatar billede webfreak Nybegynder
12. juli 2008 - 21:11 #3
Alexander, mange tak for hjælpen det virker som det skal.
Avatar billede webfreak Nybegynder
12. juli 2008 - 21:12 #4
Nu har jeg lige et prooblem. Jeg aner ikke, hvordan man giver point. Jeg er ny. xD
Avatar billede alexander_j Nybegynder
12. juli 2008 - 21:35 #5
Det lykkedes fint at give point - tak for det. Held og lykke videre frem med projektet!
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