Avatar billede ppb Nybegynder
02. april 2007 - 20:11 Der er 9 kommentarer og
1 løsning

Husk kodeord

Jeg bruger et simpelt password beskyttelse til nogle af mine sider.
Kan det laves, så når man har skrevet password én gang, så bliver det husket på de andre sider som er beskyttet af password?

Jeg indsætter lige koden:

<?php
##########################################################################
$password = "";  // Modify Password to suit for access, Max 10 Char.
##########################################################################
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>
<body>
<?php
// If password is valid let the user get access
if (isset($_POST["password"]) && ($_POST["password"]=="$password")) {
?>
<!-- START OF HIDDEN HTML - PLACE YOUR CONTENT HERE -->

<!-- END OF HIDDEN HTML -->
<?php
}
else
{
// Wrong password or no password entered display this message
if (isset($_POST['password']) || $password == "") {
  print "<p align=\"center\"><font color=\"red\"><b>Forkert kodeord</b></font></p>";}
  print "<form method=\"post\"><p align=\"center\">Denne side er beskyttet med kodeord.<br>";
  print "<form method=\"post\"><p align=\"center\">Kun webmaster har adgang.<br>";
  print "<input name=\"password\" type=\"password\" size=\"25\" maxlength=\"10\"><input value=\"Kom ind\" type=\"submit\"></p></form>";
}
 
?>
<BR>
</body>
</html>
Avatar billede jakobdo Ekspert
02. april 2007 - 21:27 #1
Du skal kigge på $_SESSION

Efter koden:

if (isset($_POST["password"]) && ($_POST["password"]=="$password")) {

Kan du så tilføje:
$_SESSION['logget_ind'] = true;

Og på alle dine efterfølgende sider, kalder du så: if($_SESSION['logget_ind'])
Hvis == true, så er alt ok, hvis ikke, så er brugeren ikke logget ind.

Når du arbejder med session, skal du huske at tilføje session_start() i toppen af din kode.
Altså lige under <?php eller <? allerøverst i din kode.
Avatar billede ppb Nybegynder
02. april 2007 - 21:47 #2
Kan ikke få det til at virke. Siden er blank, når jeg har kopieret dit script ind.
Avatar billede jakobdo Ekspert
02. april 2007 - 21:56 #3
Mit script er ikke færdigt.
Det er nogle dele du skal bruge i din kode...
Avatar billede jakobdo Ekspert
02. april 2007 - 21:57 #4
<?php
session_start();
##########################################################################
$password = "";  // Modify Password to suit for access, Max 10 Char.
##########################################################################
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>
<body>
<?php
// If password is valid let the user get access
if((isset($_POST["password"]) && ($_POST["password"]=="$password")) || $_SESSION['logget_ind'])
{
$_SESSION['logget_ind'] = true;
?>
<!-- START OF HIDDEN HTML - PLACE YOUR CONTENT HERE -->

<!-- END OF HIDDEN HTML -->
<?php
}
else
{
// Wrong password or no password entered display this message
if (isset($_POST['password']) || $password == "")
{
  print "<p align=\"center\"><font color=\"red\"><b>Forkert kodeord</b></font></p>";}
  print "<form method=\"post\"><p align=\"center\">Denne side er beskyttet med kodeord.<br>";
  print "<form method=\"post\"><p align=\"center\">Kun webmaster har adgang.<br>";
  print "<input name=\"password\" type=\"password\" size=\"25\" maxlength=\"10\"><input value=\"Kom ind\" type=\"submit\"></p></form>";
}

?>
<BR>
</body>
</html>
Avatar billede ppb Nybegynder
02. april 2007 - 22:23 #5
Så virker det sørmer.
Jeg har tre sider, med ovenstående password system. Når den ene er låst op, er resten også låst op, indtil browseren lukkes. Det var også sådan jeg havde tænkt mig, det skulle virke.

MEN...jeg har også en fjerde side med ovenstående password system, men blot med et andet password. En adminside, som kun jeg skal have adgang til.

Kan man umiddelbart lave det så den fjerde side ikke bliver låst op, eller er det for langhåret???
Avatar billede jakobdo Ekspert
03. april 2007 - 07:23 #6
Der kunne du jo tjekke for en anden session.
f.eks. $_SESSION['admin'] == true
Avatar billede ppb Nybegynder
03. april 2007 - 19:22 #7
Ok. Der faldt tiøren. Nu forstår jeg, også det jeg laver/får hjælp til.

Et lille tillægsspørgsmål. Hvordan bliver passwordetgemt?
Avatar billede ppb Nybegynder
03. april 2007 - 19:23 #8
Husk lige, at smide et svar, så du kan få point.

Mange tak for hjælpen.
Avatar billede jakobdo Ekspert
03. april 2007 - 20:24 #9
Her er et svar!

Passwordet bliver som sådan ikke gemt.
Men hvis kodeordet er rigtigt, sætter vi en session, nemlig:

$_SESSION['logget_ind'] = true;

Det vil sige, hvos $_SESSION['logget_ind'] == true, så er brugeren logget ind.
Avatar billede jakobdo Ekspert
04. april 2007 - 15:52 #10
Takker for point.
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