Weiterleiten nach html-Ausgabe

Fluctuator

Mitglied
Hallo,

ich habe ein Template, in dem sich ein Formular befindet. Um das Formular ausfüllen zu können muß ich es vorher von meinem PHP-Script parsen und ausgeben lassen.
Wie kann ich aber nun weiterleiten, wenn das Formular ausgefüllt wurde und schon eine HTML-Ausgabe stattfand?
Mit header("location:xyz") funktioniert es ja nicht. Gibt es noch eine andere Möglichkeit?

MfG Fluctuator
 
Für gewöhnlich hat ein Formular am ende einen Submit Button der das für dich übernimmt.
Code:
<form action="bla.php" method="post">
<diverse inputs>
<input type="submit" value="abschicken">
</form>
übergibt den Inhalt an die bla.php. Also ein weltbewegendes Problem sehe ich da eigentlich nicht.
 
Ich muß wohl etwas genauer werden. Wenn ich nach der Eingabe mit action="irgendeine.php" weiterleite, werden die Daten nicht mehr in der Datenbank gespeichert, da dies nur in der php-Datei passiert, die auch das Formular parsed.

Bsp.:

eintrag.php
<?php
<form action="irgendeine.php" method="post">
...
</form>
...
mysql_query
...
?>

Wenn ich mit action weiterleite werden die Daten nicht in der Datenbank gespeichert.

MfG Fluctuator
 
Das ist auch überhaupt kein Problem. Du übergibst die Daten einfach an die Datei in der das Formular steht. Das machst du indem du den Dateinamen der Datei selbst einträgst, oder via
PHP:
echo "<form action=$_SERVER['PHP_SELF'] method=\"post\">";
echo "...";
echo "<input type=\"submit\" name=\"submitbutton\" value=\"machen\">";
Da die Daten jetzt wieder an die gleiche Datei zurückgegeben werden, wäre es noch von Vorteil zunächst die Variable submitbutton zu überprüfen, damit nicht bei jedem Aufruf die MySQL Datenbank angesprochen wird.
PHP:
if($_REQUEST['submitbutton'] == "machen") {
 //dein SQL KRAM
}
else {
 //das Formular anzeigen
}
Löst das dein Problem ???
 
Das ist mir ja alles klar, nur wie schaffe ich es jetzt, daß nachdem der Submit-Button gedrückt wurde und die Daten an die Datenbank übergeben wurden automatisch eine andere Datei aufgerufen wird, die mir zum Beispiel alle Datenbankeinträge anzeigt?
 
Erweitere "das Innere" der if-Abfrage einfach um

a) eine header Funktion oder
b) echo Folgendes. Dazu muss jedoch die if-Abfrage innerhalb des <head> Tags der HTML-Datei stehen.
PHP:
echo "<meta http-equiv=\"Refresh\" content=\"3;url=bla.php\">";
//die 3 ist die Anzahl an Sekunden, nach denen weitergeleitet wird

So ich hoffe, das löst das Problem jetzt ;)
 
Zuletzt bearbeitet:
Zurück