Derselben Seite Verarbeitung
Wie Sie verarbeiten kann ein Formular auf der gleichen Seite vs mit einem separaten Prozess Seite. Jetzt für Anmeldungen, Kommentar, Beiträge, etc. ich verwenden Sie eine zweite Seite, die überprüft die Daten und übermittelt und Wege zurück zu home.php. Wie kann ich es so machen, dass auf abschicken, die Seite selbst überprüft, anstatt eine zweite Seite.
warum nicht einfach schließen, dass die zweite Seite?
seine Art chaotisch arbeiten, nicht Sie denken? Es wird ordentlich Aussehen, wenn Ihr auf der gleichen Seite.
seine Art chaotisch arbeiten, nicht Sie denken? Es wird ordentlich Aussehen, wenn Ihr auf der gleichen Seite.
InformationsquelleAutor AAA | 2011-01-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie sagen, die form zu Unterwerfen, die von PHP selbst, dann überprüfen Sie die
$_POST
Variablen für die form-Verarbeitung. Diese Methode eignet sich sehr gut für die Fehlerprüfung, wie Sie können einen Fehler und dann das Formular neu laden mit alle Informationen, die der Benutzer zuvor übermittelt noch in Takt (d.h. Sie können nicht verlieren Ihre Einreichung).Wenn der "submit" - button geklickt wird, wird die POST die Informationen auf die gleiche Seite läuft der PHP-code an der Spitze. Wenn ein Fehler Auftritt (basierend auf Ihren Schecks), wird das Formular erneut geladen, für die der Benutzer mit dem Fehler angezeigt und alle Informationen, die der Benutzer geliefert noch in die Felder ein. Wenn ein Fehler nicht auftreten, wird Ihnen eine Bestätigungsseite angezeigt, statt der form.
Wenn Sie die form vor dem abrufen der Daten (Wie ich vorschlug), werden die neuen Daten automatisch berücksichtigt.
Ich verstehe nicht, Ihre Frage. Die obige Methode ist das genaue Modell verwende ich in 90% der meine Formen und ist so ziemlich ein erweitertes Beispiel, was @NeqO zur Verfügung gestellt hat. Was versuchen Sie zu erreichen, in Bezug auf "aktualisieren" der Seite?
statt drucken einer Nachricht, wie kann ich aktualisieren Sie die Seite, für meine Kommentare Seite, so dass die kürzlich eingereichte Kommentar kann, zeigen nach dem regenerieren.
Tut mir Leid, ich immer noch nicht verstehen, was Sie versuchen zu erreichen. Meine Antwort löst die Frage, die Sie gestellt haben. Wenn Sie versuchen, etwas zu tun mehr, könntest du bitte anders formulieren oder fügen Sie zu Ihrer Frage mit dem code, damit wir versuchen können zu helfen, Sie?
InformationsquelleAutor Michael Irigoyen
Die einfachste Konstruktion ist zu erkennen, ob der
$_POST
array ist nicht leerInformationsquelleAutor Jonas
können Sie überprüfen, wenn es POST-Requests in eine Seite code und überprüfen Sie dann die Daten. Wenn es GET-request, sondern nur die form.
Bedenken Sie aber bitte, dass ist eine gute Praxis, um zu zeigen erfolgreiche form die Ergebnisse auf einer anderen Seite bedient werden, der GET-request, d.h. jede erfolgreiche form POST beantwortet werden sollten, mit redirect auf der Seite Erfolg.
weil, wenn Sie zeigen regelmäßige Seite in der Antwort auf POST, werden die Daten erneut gesendet werden, auf der Seite aktualisieren. Die meisten Browser warnen den Benutzer über, die (und die meisten Nutzer werden wirklich verwirrt mit dieser Warnung), einige, wie die Oper, ganz ruhig senden Sie alle POST-Daten. In jedem Fall würde das vermutlich nicht das gewünschte Verhalten. Das ist, warum ich empfehlen, einen redirect zu der Seite Ergebnisse, wenn der Antrag ging successdully. Es ist zwar okay zu zeigen, die Validierung der Ergebnisse direkt nach der POST, wenn es etwas falsch mit den Daten und Fragen der Nutzer kann der Eingang.
🙂 Der einzige Grund, warum ich fragte ist, weil, wenn Sie lernen, ist es oft hilfreich, zu verstehen, warum ein bestimmter Kommentar gemacht wird.
InformationsquelleAutor gaius_julius
Natürlich könnten Sie erkunden auf der Suche in AJAX-Anfragen, wo man einen asynchronen Aufruf der handler-Skript, und dann update, dann update das senden Seite mit einer Erfolgsmeldung. Dadurch entsteht der Eindruck der "Gleichen Seite "Verarbeitung", D. H. Die Seite nicht zu aktualisieren.
Es hängt wirklich von dem Effekt, den Sie versuchen, zu erreichen, jedoch.
Es gibt viele gute online-Ressourcen, eine Website, die ich empfehlen würde, wäre net.tutsplus.com - lädt video-walkthroughs zum Sie entlang zu helfen.
InformationsquelleAutor diagonalbatman
@Michael Irigoyen: Es funktioniert gut, aber auf den ersten rn - /laden-zeigt es:
"Notice: Undefined variable: Fehler in C:\xampp\htdocs\same_page.php auf der Linie 28"
Zu behandeln, wie dieser es bemerkt?
Hab es jetzt:
"Verwendet isset, @ usw. zu unterdrücken Fehler..."
"Funktioniert wie ein Charme!!!"
"Nun ich werde versuchen es auf meinen code..."
InformationsquelleAutor Viral Jain
Habe ich gespeichert, eine Nachricht " vielen Dank und erfrischt mit session-Variablen.
und verwenden Sie dann diese in der Spitze der form:
Dies sollte aktualisieren Sie die Seite, und zeigen Sie die Nachricht, und wenn Sie aktualisieren Sie die Seite, die session-variable leer ist, damit das danke nicht zeigen. Dies wird als eine flash-Mitteilung.
InformationsquelleAutor PHPGuru