Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich die Formularübermittlung in PHP zuverlässig überprüfen?

Wie kann ich die Formularübermittlung in PHP zuverlässig überprüfen?

Barbara Streisand
Barbara StreisandOriginal
2024-12-05 09:42:10212Durchsuche

How Can I Reliably Check for Form Submission in PHP?

Überprüfen der Formularübermittlung in PHP

Um festzustellen, ob ein Formular übermittelt wurde und daher validiert werden sollte, können verschiedene Ansätze verwendet werden.

Zunächst In Betracht gezogen wurde die Überprüfung der Existenz des Superglobals $_POST:

isset($_POST)

Dieser Ansatz gibt jedoch immer true zurück, weil Superglobale sind global definiert. Das Durchlaufen jedes Formularelements ist ebenfalls nicht ideal:

if(isset($_POST['element1']) || isset($_POST['element2']) || isset(...etc)

Eine einfachere Lösung besteht darin, ein verstecktes Flag-Feld hinzuzufügen, um Folgendes zu überprüfen:

<!-- Form code here -->
<input type="hidden" name="submitted" value="1">
// Check if the "submitted" field is set
if (isset($_POST['submitted'])) {
    // Form has been submitted, validate input
}

Sauberere Alternative

Ein umfassenderer Ansatz besteht darin, die Anforderungsmethode zu überprüfen:

if ($_SERVER['REQUEST_METHOD'] == 'POST')

Diese Methode ist vorzuziehen, da sie auch in Fällen funktioniert, in denen Kontrollkästchen vorhanden sind oder Schaltflächen ohne Namen sind im Superglobal $_POST möglicherweise nicht vorhanden.

Hinweis: Es ist wichtig, potenzielle Randfälle zu berücksichtigen, in denen die Anforderungsmethode möglicherweise nicht auf „POST“ gesetzt ist, wie z wenn das Formular ohne JavaScript übermittelt wird.

Das obige ist der detaillierte Inhalt vonWie kann ich die Formularübermittlung in PHP zuverlässig überprüfen?. 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