Bonjour,

La réponse est probablement toute bête , mais… je la pose quand même.

J'ai un formulaire formulaire.php dont le traitement se fait dans un fichier traitement.php.
J'aimerai savoir si je peux mettre dans ce même fichier les vérifications de champs, car actuellement ces vérifications se trouvent dans mon fichier formulaire.php.

Si oui, comment écrire cela dans le fichier traitement ? Je patauge !!

C'est un mix des formulaires proposé par Graf, exemple sur le champ nom :

Traitement:

if(empty($nom)){
    $valid = false;
    $erreur_nom = "Merci de renseigner le champ Nom.";
  }

Formulaire :

<label class="error"><?php if (isset($erreur_nom)) echo $erreur_nom; ?></label>
<input type="text" name="nom" id="nom" placeholder="Nom ou nom de société" value="<?php if(isset($nom)) echo $nom; ?>" />

Merci à vous

3 réponses


Ch0c4
Réponse acceptée

Salut, je pense que ta question est, comment récupérer la variable $erreur_nom dans le formulaire après que l'utilisateur soit passé par la case traitement.

Tu as plusieurs solution.

* Soit tu le fait en Ajax (ça me rappelle un tuto), Lors de la soumission du formulaire tu appelle ton fichier traitement en ajax qui va te retourner si les valeurs sont valide ou pas. (en gros que du js)
* Soit tu fait une redirection sur le formulaire après une non validation du traitement.

header('Location: formulaire.php');

et la soit tu fais passer ta variable en get soit en session.

Créer un système de messages flash :
1) Dans traitement tu met ton erreur dans la session de l'utilisateur
2) Tu rediriges l'utilisateur vers le formulaire
3) Sur la page de formulaire tu vérifies dans ta session si il y a des messages d'erreur à afficher
4) Si oui tu les affiche et les supprime de la session

Tu peux aussi faire ça dans l'autre sens, c'est-à-dire faire ton traitement dans la même page que le formulaire :

1) tu spécifies une action vide dans <form action=""> pour que le traitement se fasse sur la même page
2) dans cette même page, tu met ton code PHP de vérification des champs que tu récupères avec $_POST ou $_GET, suivant la méthode que tu as spécifié dans ta balise <form>
3) dans les champs de ton formulaire, tu pourras afficher les valeurs après soumission en utilisant (si ta méthode est POST par exemple) :

<input type="text" name="mon-champ" value="<?php isset($_POST'mon-champ']) ? echo $_POST'mon-champ'] : echo ''?>">