Simsso: Größer / Kleiner prüfen

Hallo,
ich wollte mit php programmieren, dass überprüft wird, ob die eingegebenen Werte größer oder kleiner als der andere sind.
Dazu habe ich den folgenden code:
<form method="POST" action="index.php" style="background-color: #ddf; padding:0px; border:0px solid #ddd;">
<b>Ist der Wert <input name="zahl1" size="6" maxlength="20" />
<select name="rz">
    <option value="kleiner">&lt;</option>
    <option value="groesser">&gt;</option>
</select>
<input name="zahl2" size="6" maxlength="20" />
<input type=submit name=submit1 value="?" /></b>
</form>
<?php
    if (!empty($_POST["submit1"]))
        {
        $_zahl1 = $_POST["zahl1"];
        $_zahl2 = $_POST["zahl2"];
        $_rz = $_POST["rz"];

if ($_rz == "kleiner") {
        if ($_zahl1 < $_zahl2) {
         §c = ja;
        }
        else {
         §c = nein;
        }
        }
        if ($_rz == "groesser") {
        if ($_zahl1 > $_zahl2) {
         §c = ja;
        }
        else {
         §c = nein;
        }
        }

echo "Rechnung: Ist der Wert " . $_zahl1 . " " . $_rz . " " . $_zahl2 . " = " . $c . ".<br />";
        echo "<b>Ergebnis: " . $c . "</b>";
        }
?>

Man hat am Anfang die 2 Input Felder für die Werte, dazwischen das select Feld für die Auswahl, ob man größer oder kleiner prüfen möchte (</>).
Aber es kommt immer eine Fehlermeldung.
Wisst ihr woran das liegt?
Findet ihr einen Syntax Fehler?
Gruß

  1. Hallo,

    Aber es kommt immer eine Fehlermeldung.

    Diese Lesen und verstehen oder posten.

    Gruß

    jobo

    1. Hi,
      die Fehlermeldung lautet:
      Parse error: syntax error, unexpected '=' in /hp/bw/ab/mc/www/Rechner/index.php on line 122
      obwohl du wissen musst, dass das der Code viel länger ist und linie 122 hier ist: "§c = ja;"
      Sprich hier:
      <form method="POST" action="index.php" style="background-color: #ddf; padding:0px; border:0px solid #ddd;">
      <b>Ist der Wert <input name="zahl1" size="6" maxlength="20" />
      <select name="rz">
          <option value="kleiner">&lt;</option>
          <option value="groesser">&gt;</option>
      </select>
      <input name="zahl2" size="6" maxlength="20" />
      <input type=submit name=submit1 value="?" /></b>
      </form>
      <?php
          if (!empty($_POST["submit1"]))
              {
              $_zahl1 = $_POST["zahl1"];
              $_zahl2 = $_POST["zahl2"];
              $_rz = $_POST["rz"];

      if ($_rz == "kleiner") {
              if ($_zahl1 < $_zahl2) {
               §c = ja;
              }
              else {
               §c = nein;
              }
              }
              if ($_rz == "groesser") {
              if ($_zahl1 > $_zahl2) {
               §c = ja;                       [Zeile 122]
              }
              else {
               §c = nein;
              }
              }

      echo "Rechnung: Ist der Wert " . $_zahl1 . " " . $_rz . " " . $_zahl2 . " = " . $c . ".<br />";
              echo "<b>Ergebnis: " . $c . "</b>";
              }
      ?>

  2. Hi,

    Aber es kommt immer eine Fehlermeldung.

    dann komm bloß nicht auf die Idee, diese Fehlermeldung zu lesen, oder uns gar zu verraten. ;-)
    Im Ernst: Lies sie! Sie verrät dir normalerweise, WAS falsch ist und WO. Okay, manchmal kann sie auch ein wenig irreführend sein, aber sie gibt zumindest einen Anhaltspunkt.

    Findet ihr einen Syntax Fehler?

    Erstmal ein Deppen Leer Zeichen.
    Und ja, Syntaxfehler auch. Mehrmals den gleichen:

    §c = ja;
             §c = nein;
             §c = ja;
             §c = nein;

    Das Paragraphenzeichen ist wahrscheinlich ein Tipp-Unfall. Und die Konstanten ja und nein hast du nirgends definiert.

    $_zahl1 = $_POST["zahl1"];
            $_zahl2 = $_POST["zahl2"];
            $_rz = $_POST["rz"];

    Und wozu das Umkopieren der Parameter? Auch wenn es immer wieder gemacht wird - es ist sinnlos!

    So long,
     Martin

    --
    Irgendwann in grauer Vorzeit benutzte einer unserer prähistorischen Vorfahren ein Schimpfwort anstelle der Keule.
    Die Zivilisation hatte begonnen.
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
    1. Findet ihr einen Syntax Fehler?

      Erstmal ein Deppen Leer Zeichen.

      Im m er h i n n ur e in s .

  3. Moin

    <form method="POST" action="index.php" style="background-color: #ddf; padding:0px; border:0px solid #ddd;">
    <b>Ist der Wert <input name="zahl1" size="6" maxlength="20" />
    <select name="rz">
        <option value="kleiner">&lt;</option>
        <option value="groesser">&gt;</option>
    </select>
    <input name="zahl2" size="6" maxlength="20" />
    <input type=submit name=submit1 value="?" /></b>
    </form>
    <?php
        if (!empty($_POST["submit1"]))
            {
            $_zahl1 = $_POST["zahl1"];
            $_zahl2 = $_POST["zahl2"];
            $_rz = $_POST["rz"];

    Warum dieses Umkopieren? Nutze die $_POST-Array Werte doch einfach ohne vorher umzukopieren. Damit wird die Herkunft der Variablen verschleiert.

    if ($_rz == "kleiner") {
            if ($_zahl1 < $_zahl2) {
             §c = ja;

    §????
    Außerdem müssen Strings in Hochkommas geschrieben sein. Also $c='ja';

    }
            else {
             §c = nein;
            }
            }
            if ($_rz == "groesser") {
            if ($_zahl1 > $_zahl2) {
             §c = ja;
            }
            else {
             §c = nein;
            }
            }

    Das kann man einfacher fassen. Z.B.

      
    // $c auf nein setzen  
    $c='nein';  
    // Prüfen ob Bedingungen stimmen und gegebenenfalls auf ja setzen  
    if (($_POST['rz']=="kleiner" && $_POST['zahl1']< $_POST['zahl2']) || ($_POST['rz']=="groesser" && $_POST['zahl1']> $_POST['zahl2']))  
    {  
      $c='ja';  
    }  
    // Ausgabe  
    echo 'Ist '.$POST['zahl1'].' '.$_POST['rz'].' '.$_POST['zahl2'].'? <br />';  
    echo 'Ergebnis: '.$c.'<br/>';  
    
    

    echo "Rechnung: Ist der Wert " . $_zahl1 . " " . $_rz . " " . $_zahl2 . " = " . $c . ".<br />";
            echo "<b>Ergebnis: " . $c . "</b>";
            }
    ?>

    Deine Ausgabe verstehe ich nicht ganz. Deshalb hatte ich mal geraten. Wenn du uns zukünftig eine Fehlermeldung präsentierst können wir eventuell besser helfen.

    Gruß Bobby

    --
    -> Für jedes Problem gibt es eine Lösung, die einfach, sauber und falsch ist! <-
    ### Henry L. Mencken ###
    -> Nicht das Problem macht die Schwierigkeiten, sondern unsere Sichtweise! <-
    ## Viktor Frankl ###
    ie:{ br:> fl:{ va:} ls:< fo:) rl:( n4:( de:> ss:) ch:? js:( mo:} sh:) zu:)
  4. Hallo,

    so sähe mein Testfall aus:

      
    <?php  
    $_POST["rz"] = "groesser";  
    //~ $_POST["rz"] = "kleiner";  
    //~ $_POST["zahl1"] = 2;  
    $_POST["zahl1"] = 3;  
    $_POST["zahl2"] = 2;  
    //~ $_POST["zahl2"] = 3;  
      
    var_dump($_POST);  
      
    if (isset($_POST["zahl1"])) {  
    	if ($_POST["rz"] == "groesser") {  
    		$res = $_POST["zahl1"] > $_POST["zahl2"];  
    	} else {  
    		$res = $_POST["zahl1"] < $_POST["zahl2"];  
    	}  
    }  
    ?>  
      
    <p>Ergebnis: </p>  
    <p>  
    <?php echo $_POST["zahl1"]?>  
     ist  
    <?php if (!$res):?>  
     nicht  
    <?php endif?>  
    <?php echo $_POST["rz"]?>  
     als  
    <?php echo $_POST["zahl2"]?>  
    </p>  
    
    

    Gruß

    jobo

  5. Hi,

    if ($_zahl1 < $_zahl2) {
             §c = ja;
            }

    Willst du PHP programmieren - oder Gesetze erlassen?

    Das Zeichen, mit dem in PHP Variablen eingeleitet werden, ist *nicht* das Paragraphen-Zeichen.

    Bitte beschäftige dich wenigstens so weit mit den Grundlagen der Syntax von PHP, dass du die Ursache solch dämlicher Fehler in Zukunft selber finden kannst.

    MfG ChrisB

    --
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?