- Registriert
- 19.11.06
- Beiträge
- 122
Hallo zusammen. Habe ein kleines Problem mit einem PHP-Script, was ich zu einem Test geschrieben habe und woraus mal eine Art Spamschutz für ein Gästebuch werden soll. Erstmal nur die Grundlogik: Später will ich abgespeicherte Bilder per Zufall auswählen und diese per gdlib in die Seite einbinden und zufällig verschnörkeln. Der User soll dann eingeben was er auf dem Bild sieht. Bevor das allerdings passiert, habe ich irgendwie ein fundamentales Problem.
Zum Test habe ich einfach mal Worte anstatt Bilder genommen. Diese Worte werden in ein Array gespeichert und ein Wort zufällig ausgewählt. Dieses Wort wird ausserdem in eine Sessionvariable gespeichert. Jetzt gibt man das richtige Wort ein, schickt das Formular ab... und siehe da... die Sessionvariable hat einen anderen (anscheinend auch zufälligen) Wert. Ganz verdutzt komme ich mit diesem "Phänomen" gar nicht klar. Die Sessionvariable wird im Script ganz klar nach erstmaligem abfragen geändert. Vielleicht mag sich das mal jemand anschauen.
Habt ihr einen Vorschlag? Vielen Dank vorab.
Zum Test habe ich einfach mal Worte anstatt Bilder genommen. Diese Worte werden in ein Array gespeichert und ein Wort zufällig ausgewählt. Dieses Wort wird ausserdem in eine Sessionvariable gespeichert. Jetzt gibt man das richtige Wort ein, schickt das Formular ab... und siehe da... die Sessionvariable hat einen anderen (anscheinend auch zufälligen) Wert. Ganz verdutzt komme ich mit diesem "Phänomen" gar nicht klar. Die Sessionvariable wird im Script ganz klar nach erstmaligem abfragen geändert. Vielleicht mag sich das mal jemand anschauen.
Habt ihr einen Vorschlag? Vielen Dank vorab.
Code:
<?
session_start();
if(isset($_POST['gbgo'])) {
echo "<b>".$_POST['gbans']." == ".$_SESSION['richtig']."</b><br>";
if($gbans == $_SESSION['richtig']) {
echo "<u>richtig</u><br><br>";
}
else {
echo "<u>falsch</u><br><br>";
}
}
$gbanswers[0] = "Apfel";
$gbanswers[1] = "Birne";
$gbanswers[2] = "Pflaume";
$gbanswers[3] = "Banane";
srand((float)microtime() * 1000000);
shuffle($gbanswers);
$_SESSION['richtig'] = $gbanswers[0];
?>
<form method="post" action="<? echo $PHP_SELF; ?>">
<? echo "Bitte ".$gbanswers[0]." eingeben."; ?><br>
<input type="text" value="" name="gbans"><br>
<input type="submit" name="gbgo">
</form>