Validation HTML5 et if (isset(... [Résolu/Fermé]

Signaler
Messages postés
1137
Date d'inscription
jeudi 13 septembre 2012
Statut
Membre
Dernière intervention
17 avril 2021
-
Messages postés
1137
Date d'inscription
jeudi 13 septembre 2012
Statut
Membre
Dernière intervention
17 avril 2021
-
Bonjour,

Dans mon formulaire je valide les champs en html5 avec required et pattern et je souhaite savoir s'il est vraiment nécessaire de faire:


if (isset($_POST['nom'])) AND (isset($_POST['email'])) AND (isset($_POST['objet'])) AND (isset($_POST['message'])){
header("Location: erreur.php");
}
else {
header("Location: index.php");
}

Et donc de renvoyer vers une page d'erreur sachant que je fais déjà une validation avant ?

Merci de votre aide.

3 réponses

Messages postés
4761
Date d'inscription
dimanche 12 juin 2011
Statut
Contributeur
Dernière intervention
23 octobre 2020
1 235
Bonjour, oui c'est nécessaire: les navigateurs ne supportant pas HTML5 afficheront quand même le formulaire normalement mais ne se plaigneront pas du manque de données dans les champs. Et changer des paramètres d'une requête POST ou GET c'est vite fait; bonjour les problèmes si les champs ne sont pas bons.

Bonjour

Ça dépend de ton degré de paranoïa.
À mon avis, c'est utile car d'une part il y a des vieux navigateurs qui ignorent les required et pattern, mais surtout parce qu'il est très facile de modifier un formulaire pour supprimer les contrôles.

Au passage, tu n'es pas obligé de répéter isset, tu peux mettre directement toutes tes variables dans un seul appel, il y a un AND implicite. C'est plus simple et ça t'évitera peut-être de te tromper dans les parenthèses comme tu l'as fait :

if (isset($_POST['nom'], $_POST['email'], $_POST['objet'], $_POST['message'])){
Messages postés
1137
Date d'inscription
jeudi 13 septembre 2012
Statut
Membre
Dernière intervention
17 avril 2021
98
Merci c'est beaucoup plus clair.