Heim  >  Artikel  >  Backend-Entwicklung  >  Wie verhindert man die erneute Übermittlung von Formularen auf PHP-Seiten?

Wie verhindert man die erneute Übermittlung von Formularen auf PHP-Seiten?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-03 11:11:29772Durchsuche

How to Prevent Form Resubmission in PHP Pages?

Vermeiden der erneuten Übermittlung von Formularen in PHP-Seiten

Beim Aktualisieren von PHP-Seiten, die eine Einfügefunktion enthalten, kann es zu Problemen mit der erneuten Übermittlung von Formularen kommen kann dazu führen, dass doppelte Daten eingefügt werden. Um dies zu verhindern, sollten Sie die Verwendung des Post-Redirect-Get-Musters (PRG) in Betracht ziehen.

PRG-Muster

Das PRG-Muster umfasst:

  1. Annehmen einer POST-Anfrage:Empfangen der übermittelten Formulardaten.
  2. Verarbeiten der Daten:Validieren, Einfügen oder Ausführen aller erforderlichen Aktionen.
  3. Ausgeben einer Umleitungsantwort: Leiten Sie den Benutzer zu einer neuen URL weiter.
  4. Annehmen einer GET-Anfrage: Der Benutzer klickt auf den aktualisierten Link und stellt eine neue Anfrage.
  5. Ausgeben einer 200-Antwort:Zeigen Sie die Seite mit allen erforderlichen Daten an.

Beispiel

Angenommen, Sie Ich erstelle eine Seite, auf der Benutzer Notizen hinzufügen können. Anstatt eine Einfügefunktion auf derselben Seite zu verwenden, können Sie das PRG-Muster wie folgt implementieren:

  • Seite 1 (add_note.php): Formular anzeigen.
  • Seite 2 (process_note.php): Akzeptieren Sie die POST-Anfrage und verarbeiten Sie die Übermittlung der Notiz.
  • Seite 3 (view_notes.php): Akzeptieren Sie das GET Fordern Sie die aktualisierten Notizen an und zeigen Sie sie an.

Verwaltung der Formulardatenanzeige

Wenn Sie nach der Verarbeitung Daten aus dem übermittelten Formular anzeigen müssen, können Sie eine eindeutige Angabe hinzufügen Bezeichner in der Abfragezeichenfolge der Weiterleitungs-URL. Ihre Weiterleitungsantwort von „process_note.php“ könnte beispielsweise wie folgt lauten:

<code class="php">header("Location: view_notes.php?note_id=$new_note_id");</code>

In view_notes.php können Sie dann die note_id aus der Abfragezeichenfolge verwenden, um die neu eingefügte Notiz abzurufen und anzuzeigen.

Das obige ist der detaillierte Inhalt vonWie verhindert man die erneute Übermittlung von Formularen auf PHP-Seiten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn