Maison >développement back-end >tutoriel php >Comment puis-je vérifier de manière fiable la soumission d'un formulaire en PHP ?

Comment puis-je vérifier de manière fiable la soumission d'un formulaire en PHP ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-05 09:42:10195parcourir

How Can I Reliably Check for Form Submission in PHP?

Vérification de la soumission du formulaire en PHP

Pour déterminer si un formulaire a été soumis et doit donc être validé, différentes approches peuvent être utilisées.

Initialement considéré était de vérifier l'existence du superglobal $_POST :

isset($_POST)

Cependant, cette approche renvoie toujours vrai car les superglobales sont définies globalement. Itérer sur chaque élément du formulaire n'est pas non plus idéal :

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

Une solution plus simple consiste à ajouter un champ d'indicateur caché pour vérifier :

<!-- 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
}

Alternative plus propre

Une approche plus globale consiste à vérifier la méthode de requête :

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

Cette méthode est préférable car elle fonctionne également dans les cas où les cases à cocher ou les boutons sans nom peuvent ne pas être présents dans le superglobal $_POST.

Remarque : Il est important de prendre en compte les cas extrêmes potentiels où la méthode de requête peut ne pas être définie sur « POST », tels que lorsque le formulaire est soumis sans JavaScript.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn