Avatar billede Frederik Nybegynder
05. januar 2005 - 20:50 Der er 4 kommentarer og
1 løsning

Hjælp til PHP Login Script.

Hej.
Jeg er næsten lige begyndt på PHP, og jeg har siddet og rodet lidt med et login script. Jeg har lånt en bog hvor php bliver gennemgået og for bare at prøve at lave et login har jeg bare skrevet koedn af efter bogen. men den vil ikke vise noget når man vil logge ind, så ville blive meget glade hvis i kunne finde fejlen.

"Det skal siges der er skrevet af efter bogen så det er ikke mig der har valgt en hemmelig kage :P"

kode :

<?
if ($indtastet_kodeord){

$gemt_kodeord = md5($indtastet_kodeord);

$antal_dage = 2;
$udloebsdato = time() + (60 * 60 * 24 * $antal_dage);
setcookie("gemt_kodeord", $gemt_kodeord, $udloebsdato);
}
?>
<HTML>
<BODY>
<H1>Hemmelige opskrifter online</H1>
<?
$rigtigt_kodeord = md5("kodeord");
if($gemt_kodeord = md5 == $rigtigt_kodeord){
echo "<H1>Her er den hemmelige opskrift på verdens bedste kager.</H1>";
} else {
?>indtast det hemmelige kodeord
<FORM METHOD=POST ACTION=<? echo $PHP_SELF;?>>
<INPUT TYPE=PASSWORD NAME=indtastet_kodeord>
<INPUT TYPE=SUBMIT VALUE="vis mig opskriften">
</FORM>
<?
}
?>
</BODY>
</HTML>
Avatar billede retep Nybegynder
05. januar 2005 - 20:58 #1
<?
if (isset($_POST["indtastet_kodeord"])){

$gemt_kodeord = md5($_POST["indtastet_kodeord"]);


$antal_dage = 2;
$udloebsdato = time() + (60 * 60 * 24 * $antal_dage);
setcookie("gemt_kodeord", $gemt_kodeord, $udloebsdato);
}
?>
<HTML>
<BODY>
<H1>Hemmelige opskrifter online</H1>
<?
$rigtigt_kodeord = md5("kodeord");
if($gemt_kodeord == $rigtigt_kodeord){
echo "<H1>Her er den hemmelige opskrift på verdens bedste kager.</H1>";
} else {
?>indtast det hemmelige kodeord
<FORM METHOD=POST ACTION=<? echo $PHP_SELF;?>>
<INPUT TYPE=PASSWORD NAME=indtastet_kodeord>
<INPUT TYPE=SUBMIT VALUE="vis mig opskriften">
</FORM>
<?
}
?>
</BODY>
</HTML>
Avatar billede retep Nybegynder
05. januar 2005 - 21:00 #2
Jeg rettede så variablen blev hentet med:
$_POST["indtastet_kodeord"]

og så rettede jeg denne linie:
if($gemt_kodeord = md5 == $rigtigt_kodeord){
den giver nemlig ikke helt mening ;)
Avatar billede Frederik Nybegynder
05. januar 2005 - 21:06 #3
Hej.

Nu er jeg jo rimelig newbie til php så jeg kunne godt tænke mig en forklaring på hvad $_post er?? hvis det kan lade sig at gøre.?
Avatar billede retep Nybegynder
05. januar 2005 - 21:11 #4
Jeps... Den form <form hvor man indtaster koden i tekstfeltet <INPUT TYPE=PASSWORD NAME=indtastet_kodeord>

Den variabel der sendes over hedder indtastet_kodeord og før i tiden kunne man bare benytte den ved at skrive $indtastet_kodeord, men det gav nogle sikkerhedsmæssige problemer (mest pga. uoverskuelig kode, hvor folk glemte at validere de data der kommer fra brugerne), så nu skal man altså bruge $_POST["indtastet_kodeord"] i stedet. Eller $_GET["indtastet_kodeord"] hvis det er en variabel der kommer fra adresselinien.

Håber det gav mening ;)
Avatar billede Frederik Nybegynder
28. maj 2006 - 12:04 #5
- lukker
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