Wie ? Dateiaufruf nach Formularüberprüfung

katlina

Mitglied
Hallo liebe Fories,

ich möchte Euch bei folgendem Problem mal um Hilfe bitten: ich benötige einen php-Befehl, mit welchem ich nach Überprüfung von eingegebenen Formulardaten eine neue php-Datei starten kann. Genauer: ich überprüfe eingegebene Formulardaten mit <form action=php_self>, wenn die Kontrolle ohne Fehler beendet ist, soll eine neue php-Datei geladen werden. So etwa in der Form:

.
.
.
}

elseif ($name == "") {
echo "<font color=red>Bitte geben Sie Ihren Vornamen ein.</font>";
}

else ...wenn alles ok, dann xyz.php...

Habt ihr ne Idee ? Habe schon Stunden im Netz gesucht, aber nichts passendes gefunden. Leider sagt mir vieles auch noch nix, da ich Newbie mit php bin. Also schonmal sorry, wenn das pipi-einfach zu lösen sein sollte, mein Problem ;-). Grüße Euch.
 
Nachtrag: mit "include" habe ich das Problem, dass dann das Formular mit stehen bleibt, was ich nicht möchte, also das bitte nicht als Lösungsvorschlag.
 
Hi,

bessere wäre es z.B. so
PHP:
<?php
if(isset($_POST['submit']){

	$array[] = (!empty($_POST['name']) ? $_POST['name'] : FALSE;
}


if(in_array(FALSE, $array)) {
	-- zeige Formular---
}else{
	include("xzy.php");
}

?>

Alternativ kannst du mit dem
Code:
header('Location: http://www.example.com/');
arbeiten. Aber hier ist zu beachten das der "header" am Anfang stehen muss und keine Ausgabe vor ihm ausgeführt werden darf.
Zu finden hier: http://de.php.net/manual/de/function.header.php
 
@heimatlied: erstmal vielen Dank für Deinen Tip. Leider bleibt das Formular bei der Variante wieder mit stehen. Also es sieht ganz so aus, als ob es keine echte Weiterleitung ist, sondern ein Aufruf innerhalb der aktuellen php-Datei.
 
Also eigentlich wirst du durch diesen Aufruf auf die angegebene Seite weitergeleitet.
Kannst ja ne test.php Datei erstellen und dort einfach mal ein echo einfügen.
Und die Weiterleitung machste dann wie schon geschrieben so:

Code:
echo '<meta http-equiv="refresh" content="2; url=localhost/test.php">'

Müsste eigentlich klappen.
 
Ansonsten benutze Javascript:
PHP:
else
{
?>
<script type="text(javascript">
window.location = "Formular Korrekt ausgefüllt.php";
</script>
<?php
}
?>
 
Also tut mir leid "heimatland", hat irgendwie nicht funktioniert, aber vielleicht habe ich da auch was falsch gemacht. Hab den Vorschlag mit java mal ausprobiert und das geht nun. Danke an Acriss. Ein kleiner Fehler ist jedoch drin, Acriss: <script type="text(javascript"> zwischen "text" und "javascript" muss ein / statt einer ( . Also so:
<script type="text/javascript"> . Nur für alle Anderen, falls Ihr das auch so machen wollt. Sonst funktioniert es ja wieder net ;-) . Dankeschööööön :-)
 
Zurück