PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : rechen spass


dvbzone
07.06.2009, 19:59:53
hallo hab da was gebastelt
aber bekomm das nicht hine das er mit der eingegebene zahl rechnet



<?php
//zahlen berechnen
srand(microtime()*1000000);
$zahl1 = rand(1,10);
$zahl2 = rand(1,10);
$erg = $zahl1 + $zahl2;
//zahlen ausgeben
$zahl3=$_POST["zahl3"];
echo $zahl1," + ",$zahl2," = "." <br>";


if($zahl3 == $erg)
{
echo "Hallo das wahr richtig ".$erg;
include ('bild-ausgabe.php');
}
else {
echo " leider falsch ";
};

?>
<html>
<body>
<form action="rechnen.php" method="post">
Eingabe <input name="zahl3" type="text"><br><br>
<input type="Submit" name="Submit" value="Berechne">
</form>




kann sich das mall einer anschauen und mir sagen warum das nicht geht

mfg dvbzone

DokuLeseHemmung
07.06.2009, 20:53:49
Register_Globals
EDIT: Doch nicht!

Vermutlich, weil du jedes mal neu berechnst und auch rand() jedesmal neu los läuft
evtl suchst du Sessions.

Indyk
08.06.2009, 10:23:20
Es kann deswegen nicht funktionieren weil die Zahlen mit denen der User rechnet, beim nächsten aufruf der seite (nämlich wenn er das formular verschickt) neu erstellt werden und deine ergebnisvariable sich schon auf die "nächste" aufgabe bezieht wärend das vom user verschickte ergebnis noch für die alte aufgabe ist.

du könntest wie DokuLeseHemmung vorgeschlagen hat mit sessions arbeiten, oder auch das ergebnis, als hidden field, gleich mitschicken. Wobei HTML kundige User das kein Problem hätten das ergebnis aus dem Quelltext auszulesen.

dvbzone
08.06.2009, 13:30:14
erstmall besten dank für die hilfe

aber ich bekomms nicht hin

mfg dvbzone

Indyk
08.06.2009, 13:41:01
gern geschehen!
Das tut mir leid für dich.

DokuLeseHemmung
08.06.2009, 13:50:51
Ich hoffe, du nimmst diese "Scriptreperatur" zum Anlaß, deinen Kopf nochmal tief in die Bücher zu stecken.

<?php
error_reporting(-1);
ini_set('display_errors', TRUE);

session_start();

if(!isset($_SESSION['zahl'][1])||isset($_POST['rechnung']))
{
$_SESSION['zahl'][1] = mt_rand(1,10);
$_SESSION['zahl'][2] = mt_rand(1,10);
}

$erg = $_SESSION['zahl'][1] + $_SESSION['zahl'][2];
echo $_SESSION['zahl'][1]," + ",$_SESSION['zahl'][2]," = "." <br>";

if(isset($_POST["zahl3"]))
{
if($_POST["zahl3"] == $erg)
{
echo "Hallo das wahr richtig ".$erg;
// include ('bild-ausgabe.php');
}
else
{
echo " leider falsch ";
}
}

?>
<html>
<body>
<form action="" method="post">
Eingabe <input name="zahl3" type="text"><br><br>
<input type="Submit" name="Submit" value="Berechne">
</form>
<form action="" method="post">
<input type="Submit" name="rechnung" value="NeueRechnung">
</form>