Jan: Link in PHP

Hallo!

Ich hoffe ohr könnt mir helfen.

Ich habe folgendes Problem:

Ich habe 2 Eingabefelder auf "seite1.php". Wenn diese Eingaben ungleich sind soll auf dieser Seite angezeigt werden: "Eingaben unterschiedlich".
Wenn die Eingaben aber gleich sind soll er nun "seite2.php" anzeigen.
Den ersten Teil hab ich schon (vielleicht auch falsch):

<form action="seite1.php" method="post">
<table border="0">
 <tr>
  <td>Eingabe1:</td>
  <td><input type="text" name="Eingabe1" /></td>
 </tr>
 <tr>
  <td>Eingabe2:</td>
  <td><input type="text" name="Eingabe2" /></td>
 </tr>
</table>
<input type="submit" value="Anmelden" />
</form>
<?php
if ($_POST["Eingabe1"]!=$_POST["Eingabe2"])
    {
    echo "Eingaben unterschiedlich"
    }
...
dann weis ich nicht weiter.
Könnt ihr mir helfen?

Mit freundlichen Grüßen
Jan

  1. Wenn du das Serverseitig erledigen willst musst du auf "seite1.php" bevor du irgendwelche Ausgaben tätigst auf auf (Un-)gleichheit prüfen  also:
    <?
    // Zuerst checkst du, ob die Eingabefelder 1 und 2 überhaupt werte enthalten. Wenn du die Seite das 1. mal aufrufst ist das ja nicht der Fall
    if(isset($_POST["Eingabe1"]) AND isset($_POST["Eingabe2"]))
    {
      // Jetzt kannst du auf gleichheit prüfen
      if ($_POST["Eingabe1"]!=$_POST["Eingabe2"])
          $ausgabe = "Eingaben unterschiedlich"
      else
         header("Location: seite2.php");
    }
    ?>
    <form action="seite1.php" method="post">
    ...
    </form>
    <?php
     echo $ausgabe;
    ?>

    1. Hello,

      header("Location: seite2.php");

      Bitte die Parameter der header-Funktion beachten: absolute URL erforderlich.

      MfG
      Rouven

      --
      -------------------
      Unser Problem ist, dass wir eine Demokratie entwickelt haben, was nicht immer der richtige Weg ist  --  Bernie Ecclestone zu den lästigen Diskussionen um Regeländerungen in der Formel 1
      1. Hi!

        header("Location: seite2.php");
        Bitte die Parameter der header-Funktion beachten: absolute URL erforderlich.

        Und dann sollte dem Header-Aufruf noch ein exit() folgen.

        Man kann sich ja nicht 100% darauf verlassen, daß jeder Client dieser Weiterleitung folgt.

        In meinem Browser habe ich beispielsweise die Möglichkeit, manuell zu wählen, ob diesem Header gefolgt werden soll oder nicht.

        Oftmals werden Websites nicht nur mit Webbrowsern besucht, sondern auch von Bots oder irgendwelchen anderen Scripten angefordert.

        Damit nicht noch eventuell nachfolgender Code ausgeführt wird, würde ich das Script nach dem Location-Header mit exit() beenden.

        header( "Location: http://example.com/seite2.php" );  
        exit;
        

        Schöner Gruß,
        rob

  2. Vermutlich willst du auf eine sofortige Überprüfung der Daten raus, so daß schon beim Submit entschieden wird, welche Seite ausgewählt wird ?

    Das geht grundsätzlich nicht mit PHP, das können nur Serverseite Scriptsprachen machen wie zB JavaScript.

    Was die übliche Vorgehensweise ist, daß du eine Seite auswählst, in deinem Fall "seite1.php"
    und dort etwa folgendes schreibst:

    if ($_POST["Eingabe1"]!=$_POST["Eingabe2"])
    {
      echo "Eingaben unterschiedlich"
      ... HTML für Formular erneute Eingabe
    }
    else
    {
      ... Inhalt Seite 2
    }

    Natürlich geht das noch eleganter, aber ich glaube, du musst PHP erstmal überhaupt verstehen als eine Sache, die nur auf dem Server läuft...

    Gruß, Flash