kostenloser Webspace werbefrei: lima-city


Übergabe an ein input Feld PHP,HTML

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    m******e

    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 &uuml;bungen</title>
    </head>
    <body>
    
    <input type="text" name="fertige_aufgabe" readonly="readonly"/></p>
    <input type="text" name="l&ouml;sung_user" />
    
    </body>
    </html>


    ich möchte nun, dass die Aufgabe, die mit
    echo"$erste_zahl X $zweite_zahl";
    erzeugt wird in dem Feld
    <input type="text" name="fertige_aufgabe" readonly="readonly"/></p>
    steht. Wie muss das aussehen?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. 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&ouml;sung_user.
  4. Autor dieses Themas

    m******e

    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&ouml;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
    if ($loesung == $loesung_user)
    {
        echo"<h1>RICHTIG!</h1>";
    }
    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 stimmt:wink:

    mag-page
  5. 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.
    <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&ouml;sung User: $loesung_user<br>\n";
    	echo "L&ouml;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>
    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.
  6. Autor dieses Themas

    m******e

    vielen Dank jetzt geht alles!!!!:cool::cool::cool:

    gibt es noch eine Möglichkeit, dass der Cursor immer automatisch in dem Feld "Ihre Eingabe" Feld ist?
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!