2011-01-04 12 views
1

Ich habe ein Formular, das nach dem Drücken der Schaltfläche Absenden auf eine leere Seite geht und alle Fehlermeldungen auf dieser leeren Seite zurückgibt. Jedoch habe ich eine Website-Vorlage und ich wünsche, dass mein Skript ausgeführt wird, und gibt die Seite zurück, die die Aktion POST ausgeführt hat, und fügt alle Fehlermeldungen auf dieser Seite ein.Bleiben Sie auf der aktuellen Seite nach dem POST

Beispiel dessen, was geschieht: PAGE ANTRÄGE POST ----> SCRIPT LÄUFT ---> RETURNS MESSAGE ERROR

Was ich es tun möchte: PAGE POST --- Gesuche> SCRIPT LÄUFT ----> GEHT AUF DIE SEITE, DIE BEANTRAGT WURDE ----> ZEIGT IRGENDWELCHE FEHLERMELDUNGEN, DIE DAS SCRIPT ABGEWORFEN HAT.

+0

wenn ich undestanded, was Sie wollen, sollten Sie Übermitteln Sie die Seite an dasselbe Skript wie das, das die Seite anzeigt. – cristian

Antwort

1

Sicher kannst du die Aktion deines Formulars auf die aktuelle Seite setzen. Dann enthält die $_POST alle Werte, die der Benutzer in das Formular eingegeben hat.

+0

Ich bevorzuge es, meine Skripte getrennt zu halten, gibt es einen anderen Weg? – DogPooOnYourShoe

+0

Verwenden Sie Include, und Sie können sie getrennt halten. – kapa

+0

@bazmegakapa: Du bist ein kluger Mann! Ich habe total vergessen Include! – DogPooOnYourShoe

1

Sie haben zwei Möglichkeiten. Ich gehe davon aus, dass Sie auf eine leere Seite gehen, weil Ihr POST zu einem PHP-Skript wechselt, das sich von der Seite, von der es schreibt, unterscheidet.

Option 1 - Veröffentlichen Sie auf der gleichen PHP-Seite wie die Seite, von der Sie posten.

Option 2 - Wenn Sie einen Fehler gemeldet und einen Fehler generiert haben, leiten Sie die Seite mit den in einer Sitzung gespeicherten Fehlern oder einem Cookie um, damit sie auf der Originalseite gerendert werden können.

0

Angenommen, dass die Seite mit dem Anforderungsformular auch die Fehlermeldungen anzeigen kann, legen Sie das Formularattribut auf die URL der Seite mit dem Formular fest (wie TJHeuvel notiert) oder einfach das Aktionsattribut leer, z. B. <form action="">.

0

Nachdem in Ihre Variable auf leere Seite speichern alle geschrieben Variablen gehen sagen $get mit Syntax param1=value1&param2=value2 and so on... und Umleitung zurück nach header("Location: back.php?$get"); und in Ihrer Haupt-Seite von _GET $ echo alle Vars

Verwandte Themen