Ankündigung

Einklappen
Keine Ankündigung bisher.

if, else Ausgabe-Fehler

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • if, else Ausgabe-Fehler

    In meinem Script ist ein Ausgabe-Fehler,
    in meinem Quelltext kann man die Aktion , die durchgeführt werden soll, erkennen, leider gibt mein Script aber nur ein Teil aus, und immer nur von dem Echo, welches erscheinen soll wenn $x = $summe ist.

    Ich hoffe hier kann mir geholfen werden.

    Edit: Ausgabe ist immer "+ = 0 , das ist richtig"


    $komma=htmlspecialchars(",");

    $summe = $wert1 + $wert2;

    if($x==$summe) echo "$wert1 + $wert2 = $summe $komma das ist <font color=\"green\">richtig</font>";
    else echo "Falsch";


  • #2
    Und wo ist $x gesetzt?

    Kommentar


    • #3
      $x ist der Eingabewert eines Formulares..

      Also, das Script ist so aufgebaut:

      Der Wert x aus der Datei a.php wird an a1.php gesendet.

      a.php

      mt_srand((double)microtime()*1000000);
      $wert1 = mt_rand(10,800);

      mt_srand((double)microtime()*1000000);
      $wert2 = mt_rand(10,800);


      $summe = $wert1 + $wert2;

      echo "$wert1 + $wert2


      =
      <form method=\"POST\" action=\"a1.php\">
      <input type=\"text\" name=\"$x\" size=\"20\">
      <input type=\"submit\" value=\"Überprüfen\" name=\"Los\">
      </form>";
      a1.php:

      $komma=htmlspecialchars(",");

      $summe = $wert1 + $wert2;

      if($x==$summe) echo "$wert1 + $wert2 = $summe $komma das ist <font color=\"green\">richtig</font>";
      else echo "Falsch";

      Kommentar


      • #4
        beim input feld solltest du das $ Zeichen weg machen, also nur name=\"x\" und bei der a1.php abfrage:
        $x = $_POST['x'];

        Kommentar


        • #5
          Hallo,

          danke erstmal.

          Jetzt erscheint bei der Ausgabe - auch wenn $x gleich $summe ist - immer die Fehlermeldung von "else", also Falsch.

          Hast Du evtl. eine Idee wpran das liegen könnte?

          Kommentar


          • #6
            Ich denke mal das $wert1 und $wert2 nicht in die a1.php mit übergeben werden. Du kannst aber beim form tag action=a1.php?wert1=$wert1&wert2=$wert2 machen. In der a1 fragst du das dann wieder mit $wert1 = $_GET['wert1]; und $wert2 = $_GET['wert2']; ab

            Kommentar


            • #7
              so gehts ..
              was soll eigentlich das $komma??

              Code:
              <?php
              
              
              	if ( isset($_POST['sent']) )
              	{
              		$summe = $_POST['wert1'] + $_POST['wert2'];
              
              		if( $_POST['x'] == $summe )
              			echo $_POST['wert1'] . " + " . $_POST['wert2'] . " = " . $summe . " , das ist <font color=\"green\">richtig</font>";
              		else
              			echo "Falsch";
              	}
              	else
              	{
              		mt_srand((double)microtime()*1000000);
              		$wert1 = mt_rand(10,800);
              
              		mt_srand((double)microtime()*1000000);
              		$wert2 = mt_rand(10,800);
              
              
              		$summe = $wert1 + $wert2;
              
              		echo "$wert1 + $wert2 = ";
              ?>
              
              	<form method="POST" action="<?=$_SERVER['PHP_SELF']?>">
              		<input type="text" name="x" size="20">
              		<input type="submit" value="Überprüfen" name="Los">
              		<input type="hidden" name="sent" value="1">
              		<input type="hidden" name="wert1" value="<?=$wert1?>">
              		<input type="hidden" name="wert2" value="<?=$wert2?>">
              	</form>
              
              <?php
              
              	} # END OF ELSE
              	
              ?>
              grüße ben
              privater Blog

              Kommentar


              • #8
                Zitat von Ben
                so gehts ..
                was soll eigentlich das $komma??
                Danke dir erstmal.

                $komma=htmlspecialchars(",");

                Denn wenn ich das "," so eingebe, bekomme ich eine Fehlermeldung (logischerweise)

                Kommentar


                • #9
                  naja .. in meinem code aber nicht ..
                  privater Blog

                  Kommentar

                  Lädt...
                  X