Übergabe an ein input Feld PHP,HTML
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
alte ergebnis
aufgabe
benutzer
berechnung
code
computer
cursor
eingabe
feld
http
manual
mathe
rand
richtig aufgabe
richtig ausgeben
richtig code
standardwert
test
umlaut
url
-
Liebes Forum, ich hatte mal etwas Zeit und wollte mal ausprobieren ein Mathe Programm zu erstellen.
Dies sind meine Anfänge:
<?php $erste_zahl = rand(1,10); $zweite_zahl = rand(1,10); echo"$erste_zahl X $zweite_zahl"; /* echo $erste_zahl * $zweite_zahl */ ?> <html> <head> <title>Mathe übungen</title> </head> <body> <input type="text" name="fertige_aufgabe" readonly="readonly"/></p> <input type="text" name="lösung_user" /> </body> </html>
ich möchte nun, dass die Aufgabe, die mit
erzeugt wird in dem Feldecho"$erste_zahl X $zweite_zahl";
steht. Wie muss das aussehen?<input type="text" name="fertige_aufgabe" readonly="readonly"/></p>
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Für Standardwerte in Textfeldern dient das value-Attribut.
<input type="text" name="fertige_aufgabe" value="<?php echo"$erste_zahl X $zweite_zahl"; ?>" readonly="readonly"/></p>
Ich empfehle dir noch, bei Variablen- und Formularnamen auf Umlaute zu verzichten. Verwende besser loesung_user statt lösung_user. -
Hallo,
danke, das Problem ist gelöst!
Aber nun hab ich ein Neues:
<?php $erste_zahl = rand(1,10); $zweite_zahl = rand(1,10); $loesung = $erste_zahl * $zweite_zahl; $loesung_user = $_POST['loesung_user']; echo "Test: lösung User: $loesung_user</p>"; if ($loesung == $loesung_user) { echo"<h1>RICHTIG!</h1>"; } ?> <form action="rechner.php" method="post"> Aufgabe<br> <input type="text" name="fertige_aufgabe" value="<?php echo"$erste_zahl X $zweite_zahl"; ?>" readonly="readonly"/></p> Ihre Eingabe<br> <input type="text" name="loesung_user" /><p> <input type="submit" value="Los!" name="eiganbe"/> </form>
Ich habe ja mit diesem Befehl
gesagt, dass er das "Richtig" ausgeben soll wenn die Lösung vom Benutzer mit der, die der PC ausgerechnet hat übereinstimt. Warum kommt es aber bei richtiger Eingabe nicht durch? Es ist bei meinen Testläufen nur manchmal erschienen. Aber es soll immer kommen wenn es stimmtif ($loesung == $loesung_user) { echo"<h1>RICHTIG!</h1>"; }
mag-page -
Dein Fehler war eigentlich recht einfach (schon blöd, dass mir das auch nicht gleich auffiel): Du vergleichst die alte Lösung des Users, mit der neuen den Scripts, d.h. wenn der Benutzer seine Lösung abschickt, berechnet der Computer schon eine neue. Ich habe daher einfach die Zahlen aus dem Feld fertige_aufgabe ausgelesen und damit das alte Ergebnis errechnet.
Einen String kannst du mit explode() in ein Array zerteilen. Es ist auch ratsam, die Berechnung nur durchzuführen, wenn der Benutzer schon eine Eingabe geschickt hat - das lässt sich mittels isset() leicht überprüfen.<html> <head> <title>Rechner</title> </head> <body style="font-family: sans-serif;"> <?php $erste_zahl = rand(1,10); $zweite_zahl = rand(1,10); if (isset($_POST["fertige_aufgabe"])) { $alte_zahlen = explode(" X ", $_POST["fertige_aufgabe"]); $loesung = $alte_zahlen[0] * $alte_zahlen[1]; $loesung_user = $_POST['loesung_user']; echo "<p>Test:<br>Lösung User: $loesung_user<br>\n"; echo "Lösung Computer: $loesung</p>\n"; if ($loesung == $loesung_user) { echo "<h1>RICHTIG!</h1>\n"; } else { echo "<h1>leider falsch!</h1>\n"; } } ?> <form action="rechner.php" method="post"> <p> <label for="fertige_aufgabe">Aufgabe</label><br> <input type="text" name="fertige_aufgabe" id="fertige_aufgabe" value="<?php echo "$erste_zahl X $zweite_zahl"; ?>" readonly="readonly"> </p><p> <label for="loesung_user">Ihre Eingabe</label><br> <input type="text" name="loesung_user" id="loesung_user"><br> <input type="submit" value="Los!" name="eiganbe"> </p> </form> </body> </html>
-
vielen Dank jetzt geht alles!!!!
gibt es noch eine Möglichkeit, dass der Cursor immer automatisch in dem Feld "Ihre Eingabe" Feld ist?
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage