Avatar billede pokgai Nybegynder
12. juli 2003 - 14:29 Der er 5 kommentarer

Et lille sørgsmål ang. PHP, <form> POST og GET

Jeg er forholdsvis ny vedr. Php.
Da jeg prøvede at lave en <form> hvor php. scriptet fanger en ID og samligner den, støder jeg ind i et underligt problem.
Når jeg starter siden op for første gang og indtaster den rigtige ID så bliver sammenlignet og alt køre som det skal, men så snart jeg FØRST taster en forkert ID ind, så kan den heller ikke genkende den rigtige ID efterfølgende??
Men hvis jeg istedet bruger GET fremfor POST, så virker det fint!!!, men det er jo ikke så smart hvis man har med passwords at gøre??
Er der nogen der ved hvorfor??

Kode:

<?
$minid="pk";

{
echo "kørt<br>";

if($minid==$userid)
{
echo "ID passer<br>";
}
else
echo "passer ikke";

}
?>


<?
echo "<form method=POST action=\"main.php\">";
echo "<table>";
echo "<tr><td>UserId:</td>";
echo "<td><input type=text name=userid></td></tr>";
echo "<tr><td>Password:</td>";
echo "<td><input type=password name=password></td></tr>";
echo "<tr><td colspan=2 align=center>";
echo "<input type=submit value\"login\"></td></tr>";
echo "</table></form>";
?>

Håber nogen som kan hjælpe, takker på forhånd..
Avatar billede taskmgr Nybegynder
12. juli 2003 - 14:38 #1
<?
$minid="pk";

echo "kørt<br>";

if($minid==$userid)
{
echo "ID passer<br>";
}
else
{
echo "passer ikke";
}
?>

Eller har jeg misforstået din kode?
Avatar billede slots_norton Nybegynder
12. juli 2003 - 14:39 #2
<?
$minid="pk";
if ($minid==$userid){
    echo "ID PASSER";
    exit;
}
echo "<form method=POST action=\"main.php\">";
echo "<table>";
echo "<tr><td>UserId:</td>";
echo "<td><input type=text name=userid></td></tr>";
echo "<tr><td>Password:</td>";
echo "<td><input type=password name=password></td></tr>";
echo "<tr><td colspan=2 align=center>";
echo "<input type=submit value\"login\"></td></tr>";
echo "</table></form>";
?>
Avatar billede slots_norton Nybegynder
12. juli 2003 - 14:41 #3
Hovsa manglede lige lidt...

<?
$minid="pk";
if ($minid==$userid){
    echo "ID PASSER";
    exit;
}
if (!$minid==!$userid){
    echo "Forkert ID, prøv igen";
}
echo "<form method=POST action=\"main.php\">";
echo "<table>";
echo "<tr><td>UserId:</td>";
echo "<td><input type=text name=userid></td></tr>";
echo "<tr><td>Password:</td>";
echo "<td><input type=password name=password></td></tr>";
echo "<tr><td colspan=2 align=center>";
echo "<input type=submit value\"login\"></td></tr>";
echo "</table></form>";
?>
Avatar billede slots_norton Nybegynder
12. juli 2003 - 14:42 #4
Uden fejl den her gang, sorry:

<?
$minid="pk";
if ($minid==$userid){
    echo "ID PASSER";
    exit;
}
if ($minid!=$userid){
    echo "Forkert ID, prøv igen";
}
echo "<form method=POST action=\"main.php\">";
echo "<table>";
echo "<tr><td>UserId:</td>";
echo "<td><input type=text name=userid></td></tr>";
echo "<tr><td>Password:</td>";
echo "<td><input type=password name=password></td></tr>";
echo "<tr><td colspan=2 align=center>";
echo "<input type=submit value\"login\"></td></tr>";
echo "</table></form>";
?>
Avatar billede pokgai Nybegynder
12. juli 2003 - 15:00 #5
Hej, takker for jeres hurtige svar..
Min kode passer, og der gøre jeres også...:-)
men problemet er hvis man taster rigtig FØRSTE gang, så kan den genkendes dvs. "ID PASSER", men hvis man taster forker først og derefter taster rigtig, dvs pk, så kan den ikke genkendes, dvs. får fejlen "forkert ID" uanset hvad..., men hvis jeg derimod erstatter POST med GET så virker det som det skal!, dvs.. man kan godt taste forkert først og få en fejl og derefter kan man tastre rigtig og man får "ID passer"...
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
Kurser inden for grundlæggende programmering

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