Heim  >  Artikel  >  Backend-Entwicklung  >  Wie verhindert man doppelte Übermittlungen nach der Formularaktualisierung?

Wie verhindert man doppelte Übermittlungen nach der Formularaktualisierung?

Linda Hamilton
Linda HamiltonOriginal
2024-11-12 05:19:02624Durchsuche

How to Prevent Duplicate Submissions After Form Refresh?

Verhindern doppelter Übermittlungen durch die Aktualisierungsbehandlung

Bei der Webentwicklung kommt es häufig vor, dass das Problem doppelter Übermittlungen auftritt, wenn eine Seite nach einer Aktualisierung aktualisiert wird Formulareinreichung. Um dieses Problem zu lösen, sollten Sie den folgenden Ansatz in Betracht ziehen:

Stellen Sie sich vor, Sie hätten ein Code-Snippet, das etwa so aussieht:

<?php
    if (isset($_POST['name'])) {
        // Database operations...
        echo "Operation Done";
        die();
    }
?>

<form action='page.php' method='post' name="myForm">
    <input type="text" maxlength="50" name="name">

Wenn Sie dieses Formular absenden, werden die bereitgestellten Daten in die Datenbank eingefügt. und eine Erfolgsmeldung wird angezeigt. Wenn Sie jedoch die Seite aktualisieren würden, würden die Daten erneut an die Datenbank übermittelt.

Lösung: Nach der Übermittlung umleiten

Um diese Duplizierung zu vermeiden, ist es Es ist wichtig, dass Sie die Antwort nach Abschluss des Vorgangs nicht auf derselben Seite anzeigen. Leiten Sie stattdessen auf eine neue Seite weiter.

// Database operations...
// Set success flash message. (Assuming you're using a framework)
header('Location: /path/to/record');
exit;

Durch die Weiterleitung nach der Übermittlung stellen Sie sicher, dass die Aktualisierung der Seite nur die GET-Anfrage für die neue Seite auslöst, zu der Sie umgeleitet haben, und verhindert so doppelte Übermittlungen.

Das obige ist der detaillierte Inhalt vonWie verhindert man doppelte Übermittlungen nach der Formularaktualisierung?. 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