Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann das Post-Redirect-Get (PRG)-Muster die erneute Übermittlung von Formularen in PHP verhindern?

Wie kann das Post-Redirect-Get (PRG)-Muster die erneute Übermittlung von Formularen in PHP verhindern?

Susan Sarandon
Freigeben: 2024-12-01 03:37:09
Original
133 Leute haben es durchsucht

How Can the Post-Redirect-Get (PRG) Pattern Prevent Form Resubmission in PHP?

Post-Redirect-Get (PRG)-Muster in PHP: Schutz vor erneuter Formularübermittlung erreichen

Verhindern Sie beim Entwerfen von Webanwendungen die erneute Übermittlung von Formularen B. nach dem Neuladen der Seite oder Aktionen mit der Zurück-Schaltfläche, können das Benutzererlebnis verbessern und die Datenintegrität wahren. Das Post-Redirect-Get (PRG)-Muster ist ein weithin anerkannter Ansatz zur Lösung dieses Problems, aber die Suche nach einfachen PHP-Implementierungen kann eine Herausforderung sein.

Hier ist ein vereinfachtes Beispiel, das das PRG-Muster in PHP demonstriert:

<?php
if ($_POST) {
    // Validate input

    if (/* Input is valid */) {
        // Execute code (such as database updates) here.
        // Redirect to this page.
        header("Location: {$_SERVER['REQUEST_URI']}", true, 303);
        exit();
    }
}
?>
<html>
<!-- Your HTML page with a form -->
</html>
Nach dem Login kopieren

In diesem Beispiel wird die Eingabe validiert, wenn das Formular per POST übermittelt wird. Wenn die Eingabe gültig ist, wird Code wie Datenbankaktualisierungen ausgeführt. Anschließend leitet das Skript den Benutzer mithilfe des Location-Headers auf dieselbe Seite weiter. Der Statuscode 303 See Other gibt an, dass die Anfrage über GET wiederholt werden sollte, wodurch eine erneute Formularübermittlung effektiv verhindert wird.

Durch die Verwendung von $_SERVER['REQUEST_URI'] vermeidet dieses Beispiel potenzielle Probleme mit PHP_SELF in CMS-Systemen und Frameworks. Die Funktion „exit()“ wird aufgerufen, um die Ausführung des HTML-Codes unterhalb der Umleitung zu verhindern.

Diese PRG-Implementierung bietet Schutz vor erneuter Formularübermittlung und minimiert gleichzeitig die Codekomplexität. Durch die Verwendung dieses Musters können Sie die Robustheit und Benutzererfahrung Ihrer Webanwendungen verbessern.

Das obige ist der detaillierte Inhalt vonWie kann das Post-Redirect-Get (PRG)-Muster die erneute Übermittlung von Formularen in PHP verhindern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage