Validation HTML5 et if (isset(...

Résolu
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

  1. 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. Contributeur
      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.