04. november 2009 - 19:30
Der er
9 kommentarer og 1 løsning
Login script virker ikke mere
Hej, Hvad er der galt med dette login script? Det har virket men nu virker det ikke mere. Hvis man taster bruger1 og 1234 skulle den gå til hovedmenu.php men den går kun til logmigind.php logmigind.php: <?PHP if((@$BeenSubmitted) && ($UserName == "bruger1") && ($Passw == "1234")){ setcookie("UserName", "$UserName", time() + 3600); setcookie("Passw", "$Passw", time() + 3600); echo "<META HTTP-EQUIV='refresh' content='0;URL=hovedmenu.php'>"; } else { ?> <form action="<?=$PHP_SELF?>" method="post"> Brugernavn: <input type="text" name="UserName" value="" Kodeord:<input type="password" name="Passw" value="" size="20"> <input type="submit" value="OK" name="BeenSubmitted"> hovedmenu.php: <?PHP if((@$UserName == "bruger1") && (@$Passw == "1234")){ ?> <?PHP } else { header("Location: logmigind.php"); exit; } ?>
Annonceindlæg fra Computerworld it-jobbank
Mød 3.500+ it-talenter på IT-DAY 2026
Hos Computerworld it-jobbank er vi stolte af at fortsætte det gode partnerskab med folkene bag IT-DAY – efter vores mening Danmarks bedste karrieremesse for unge og erfarne it-kandidater.
04. november 2009 - 19:43
#1
Du skal bruge $_POST til at hente dine variabler ud fra formularen, i stedet for at kalde variablerne direkte. Herudover skal du bruger $_SERVER til din PHP_SELF og $_COOKIE til din cookie parametre. Mon ikke det er det, udover det kan det være den browser du bruger ikke kan benytte cookies. <?PHP if((@$_POST['BeenSubmitted']) && ($_POST['UserName'] == "bruger1") && ($_POSTPassw'] == "1234")){ setcookie("UserName", $_POST['UserName'], time() + 3600); setcookie("Passw", "$_POST['Passw']", time() + 3600); echo "<META HTTP-EQUIV='refresh' content='0;URL=hovedmenu.php'>"; } else { ?> <form action="<?=$_SERVER['PHP_SELF']?>" method="post"> Brugernavn: <input type="text" name="UserName" value="" Kodeord:<input type="password" name="Passw" value="" size="20"> <input type="submit" value="OK" name="BeenSubmitted"> hovedmenu.php: <?PHP if((@$_COOKIE['UserName'] == "bruger1") && (@$_COOKIE['Passw'] == "1234")){ ?> <?PHP } else { header("Location: logmigind.php"); exit; } ?>
04. november 2009 - 20:14
#2
Hmm.. jeg har erstattet min kode med det du har skrevet men nu skriver den at den ikke kan finde webstedet..
04. november 2009 - 20:17
#3
Hmm, det kan være PHP_SELF koden. Prøv at ændre det til: <form action="logmigind.php" method="post">
04. november 2009 - 20:28
#4
Jeg har skrevet <form action="logmigind.php" method="post"> Men det virker stadig ikke..
04. november 2009 - 21:05
#5
Så må du lige hjælpe lidt selv... de der "det virker ikke" beskeder kan man ikke bruge til noget. Den skal selvfølgelig pege på logmigind.php filen. Også hvis den ligger i en anden mappe f.eks.
04. november 2009 - 21:19
#6
Jeg har gjort det sådan her: <?PHP if((@$_POST['BeenSubmitted']) && ($_POST['UserName'] == "bruger1") && ($_POSTPassw'] == "1234")){ setcookie("UserName", $_POST['UserName'], time() + 3600); setcookie("Passw", "$_POST['Passw']", time() + 3600); echo "<META HTTP-EQUIV='refresh' content='0;URL=hovedmenu.php'>"; } else { ?> <form action="logmigind.php" method="post"> Brugernavn: <input type="text" name="UserName" value="" Kodeord:<input type="password" name="Passw" value="" size="20"> <input type="submit" value="OK" name="BeenSubmitted">
04. november 2009 - 21:32
#7
Men du siger, at du får en "siden er ikke fundet" fejl. Den side der står i formularen (logmigind.php) skal pege på den fil hvor selv koden også står i. Hvis den ikke kan finde den sidste når du logger ind er det fordi filnavn eller stien til den er forkert. Jeg ved ikke hvor du lagt filen, så det må du selv kunne ordne.
04. november 2009 - 21:44
#8
Jamen de står i samme fil.. Nedenstående kode står i logmigind.php Er der noget jeg har misforstået? :-) <?PHP if((@$_POST['BeenSubmitted']) && ($_POST['UserName'] == "bruger1") && ($_POSTPassw'] == "1234")){ setcookie("UserName", $_POST['UserName'], time() + 3600); setcookie("Passw", "$_POST['Passw']", time() + 3600); echo "<META HTTP-EQUIV='refresh' content='0;URL=hovedmenu.php'>"; } else { ?> <form action="logmigind.php" method="post"> Brugernavn: <input type="text" name="UserName" value="" Kodeord:<input type="password" name="Passw" value="" size="20"> <input type="submit" value="OK" name="BeenSubmitted">
04. november 2009 - 21:57
#9
Nu har jeg lavet følgende: Nu kan den åbne logmigind.php og den går også videre til kode.php men der går den så i fejl kan ikke vise siden.. logmigind.php: <form action="kode.php" method="post"> Brugernavn:<input type="text" name="UserName" value="" size="20"> Kodeord:<input type="password" name="Passw" value="" size="20"> <input type="submit" value="OK" name="BeenSubmitted"> kode.php <?PHP if((@$_POST['BeenSubmitted']) && ($_POST['UserName'] == "bruger1") && ($_POSTPassw'] == "1234")){ setcookie("UserName", $_POST['UserName'], time() + 3600); setcookie("Passw", "$_POST['Passw']", time() + 3600); echo "<META HTTP-EQUIV='refresh' content='0;URL=hovedmenu.php'>"; } else { ?> hovedmenu.php <?PHP if((@$_COOKIE['UserName'] == "bruger1") && (@$_COOKIE['Passw'] == "1234")){ ?> <?PHP } else { header("Location: logmigind.php"); exit; } ?>
Vi tilbyder markedets bedste kurser inden for webudvikling