Validation HTML5 et if (isset(...

Résolu/Fermé
barale61 Messages postés 1192 Date d'inscription jeudi 13 septembre 2012 Statut Membre Dernière intervention 17 avril 2024 - 4 déc. 2013 à 16:48
barale61 Messages postés 1192 Date d'inscription jeudi 13 septembre 2012 Statut Membre Dernière intervention 17 avril 2024 - 4 déc. 2013 à 17:37
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

Utilisateur anonyme
4 déc. 2013 à 16:59
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'])){
1
ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 225
4 déc. 2013 à 16:57
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.
0
barale61 Messages postés 1192 Date d'inscription jeudi 13 septembre 2012 Statut Membre Dernière intervention 17 avril 2024 110
4 déc. 2013 à 17:37
Merci c'est beaucoup plus clair.
0