PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : php seiten untereinander verlinken


rootcqre
13.05.2008, 16:12:57
Es ist mir ein bisschen Peinlich, aber ich verwende PHP in Verbindung mit CMS erst seit kurzem und hab ein (für mich) großes Problem:

Ich habe ein paar PHP Seiten programmiert und möchte diese nun untereinander verlinken. Konkret heisst das, dass ich eine Formularseite X habe die mit einem Button am Ende versehen ist, diese soll auf die nächste Seite führen (nachdem sie ein paar mysql inserts ect durchgeführt hat)

Bisher ohne CMS hab ich das ganz einfach mit einem "include" am Ende der Anweisung gemacht, nur funktioniert das im CMS (drupal) irgendwie nicht.

Es ist wahrscheinlich so einfach, dass ihr dafür keinen Code benötigt, aber hier ist er:

HTML:
<form name="form1" method="post">
<input name="button_weiter1" type="submit" id="button_weiter1" value="weiter zu Schritt 2" />
...


PHP:
if(isset($_POST['button_weiter1'])){
mysql_query("INSERT INTO ...
...


Vielen Dank schomal im Vorraus

maexbecks
13.05.2008, 16:21:33
Wenn ich es richtig verstanden habe meinst du einfach nur action="seite.php". Dieses fügst du einfach bei form ein:


<form method="POST" action="Seite2.php">


Damit werden alle Werte der Formulare aus Seite1.php nach Seite2.php als $_POST Variablen übergeben.

rootcqre
13.05.2008, 16:24:03
naja dann wechselt er ja "sofort" auf die andere Seite und führt die Verarbeitungsschritte (inserts ect.) nicht durch?

/edit
er wechselt dann auf die Seite 2 und führt die verarbeitung erst auf der 2. seite aus (da es jetzt aber um ein Formular geht und die eingaben von seite 1 überprüft werden müssen ist das eher schlecht)

maexbecks
13.05.2008, 16:39:52
Um die Werte in die MySQL Datenbank zu speichern, musst du ja die Werte an irgendeine Datei übergeben, wo dies passiert.
Wenn du willst das die Daten überprüft werden und bei Fehlern wieder das selbe Formular angezeigt wird, mit einer Fehlermeldung, dann würde ich die ganzen Werte zuerst wieder an die selbe Datei übergeben. Dort machst du einfach eine Abfrage, ob Werte übergeben wurden, wenn ja, mache dies und das. Läuft alles glatt, machst du eine automatische Weiterleitung auf Seite2, ansonsten eine Fehlermeldung ausgeben und wieder Formular anzeigegen, ggf. bereits gefüllt mit Werten die korrekt waren.

rootcqre
13.05.2008, 16:51:18
VIELEN DANK!

Ich führe meine Anweisungen zwar im selben File aus, indem sich mein Formular befindet, aber mit

header("Location: http://...");

funktioniert das perfekt!

danke danke :)