Hey!
Sicher kennt jeder diese Sicherheitscodes, die man auf manchen Seiten angeben muss.
So eine Abfrage wollt ich auch programmieren und hab mir einfach 5 Zufallszahlen generieren lassen, die ich dann aneinander hänge und durch ein Formular überprüfen lasse.
Doch mein Problem ist, wenn ich auf den Submit-Button klicke, werden wieder neue Variablen via Zufall generiert und die die ich gerade eingegeben habe zum überprüfen, die sind jetzt schon wieder nicht mehr aktuell und es kommt ein Fehler.
Wie kann ich es realisieren, das die Zufallszahlen gleichbleiben, wenn ich auf den Submit-Button klicke? Also das Skript praktisch nur einmal ausgeführt wird und nicht bei jedem Klick auf den Button.
Weil sonst habe ich keine Chance die Angaben zu überprüfen, weil jedes mal wenn ich Überprüfen will ist das auch der Befehl neue Zufallszahlen zu generieren ....
Hoffe jemand versteht, wie ich es meine ...
Also hier mein Skript:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Sicherheitscode</title>
</head>
<body>
<?php
$min = 0;
$max = 9;
$random_1 = mt_rand($min,$max);
$random_2 = mt_rand($min,$max);
$random_3 = mt_rand($min,$max);
$random_4 = mt_rand($min,$max);
$random_5 = mt_rand($min,$max);
$random_all = $random_1 . $random_2 . $random_3 . $random_4 . $random_5;
?>
<table>
<tr>
<td>
Sicherheitscode:<?php echo $random_1 . $random_2 . $random_3 . $random_4 . $random_5; ?>
</td>
<td>
</td>
<td>
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post">
<input type="text" size="10" name="sicherheitscode" />
</td>
</tr>
<tr>
<td></td>
<td></td>
<td>
<input type="submit" value="Login" />
</form>
</table>
<?php
$eingabe_sicherheitscode = $_POST["sicherheitscode"];
if ($eingabe_sicherheitscode == $random_all)
{echo "Login erfolgreich!";}
else
{echo "Sicherheitscode ist falsch!";}
?>
</body>
</html>
Alles anzeigen
Vielen Dank im Vorraus!
Gruß, chris90night