Link in PHP
Jan
- 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
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;
?>
Hello,
header("Location: seite2.php");
Bitte die Parameter der header-Funktion beachten: absolute URL erforderlich.
MfG
Rouven
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
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