par
AB » 16 juin 2010, 14:31
Et le php devient plus facile

finalement c'est pas si dur

) merci beaucoup.
Mais ça serait trop beau si tout était parfait quand même
Encore une petite question j'ai des boutons radios, or si la personne coche un bouton et fait une erreur la croix n'est plus là. Y a t'il un moyen pour garder le bouton coché ?
j'ai essayé de faire de la même manière que pour les données, mais ça n'a pas marché.
Exemple de bouton :
<input type="checkbox" name="materiel" value="coffrets"/>
C'est un peu pareil mais il n'y a pas de texte à indiquer pour un checkbox. Donc il faut tester si le checkbox a été coché puis indiquer qu'il a été coché s'il y a un ré affichage. Pour indiquer un checkbox coché il faut mettre checked = "checked" dans l'input.
Je te laisse chercher la condition php pour l'écrire à bon escient.
Pendant la phase de développement, pour voir le contenu de l'ensemble du $_POST, tu peux écrire
echo '<pre>';
print_r($_POST);
echo '</pre>';
dans ton code php (en dehors de toutes les conditions "if...")
Fais quelques tests en cochant ou décochant tes checkbox et en remplissant ou non des champs textes.
Comme ça tu verras le retour contenu dans le $_POST et les choses vont s'éclairer encore un peu plus.
Encore une autre question, j'étais contente de voir que ma fonction qui envoi un email à la personne qui a rempli le formulaire marche à merveille... mais le pb c'est qu'elle envoi un mail dès que la personne clic sur validé, et même s'il y a des erreurs...
Ben là je dirais il faut conditionner l'envoi du mail avec la validité du formulaire.
Tu peux faire une structure conditionnelle ou enregistrer un témoin d'état de validité.
Par exemple schématiquement :
Code : Tout sélectionner
initialisation de la variable erreur
$erreur = null;
tests
if champ 1 non rempli -> $erreur = 'champ 1 non rempli';
if champ 2 non rempli $erreur = 'champ 2 non rempli';
Si une erreur est survenue la variable $erreur n'est plus nulle.
Or le code d'envoi de mail doit s'effectuer uniquement si elle est nulle (si aucune erreur n'a été détectée la variable a gardé son état initial).
Donc on peut écrire
if (is_null($erreur)) {... code d'envoi du mail ...}
Dans cet exemple tu pourrais aussi écrire if (!isset($erreur)) à la place de if (is_null($erreur))
[quote="Lowlow"]Et le php devient plus facile :) finalement c'est pas si dur :)) merci beaucoup.
Mais ça serait trop beau si tout était parfait quand même :)
Encore une petite question j'ai des boutons radios, or si la personne coche un bouton et fait une erreur la croix n'est plus là. Y a t'il un moyen pour garder le bouton coché ?
j'ai essayé de faire de la même manière que pour les données, mais ça n'a pas marché.
Exemple de bouton : [php] <input type="checkbox" name="materiel" value="coffrets"/>[/php][/quote]
C'est un peu pareil mais il n'y a pas de texte à indiquer pour un checkbox. Donc il faut tester si le checkbox a été coché puis indiquer qu'il a été coché s'il y a un ré affichage. Pour indiquer un checkbox coché il faut mettre checked = "checked" dans l'input.
Je te laisse chercher la condition php pour l'écrire à bon escient.
Pendant la phase de développement, pour voir le contenu de l'ensemble du $_POST, tu peux écrire
[php]echo '<pre>';
print_r($_POST);
echo '</pre>';[/php]
dans ton code php (en dehors de toutes les conditions "if...")
Fais quelques tests en cochant ou décochant tes checkbox et en remplissant ou non des champs textes.
Comme ça tu verras le retour contenu dans le $_POST et les choses vont s'éclairer encore un peu plus.
[quote="Lowlow"]
Encore une autre question, j'étais contente de voir que ma fonction qui envoi un email à la personne qui a rempli le formulaire marche à merveille... mais le pb c'est qu'elle envoi un mail dès que la personne clic sur validé, et même s'il y a des erreurs...
[/quote]
Ben là je dirais il faut conditionner l'envoi du mail avec la validité du formulaire.
Tu peux faire une structure conditionnelle ou enregistrer un témoin d'état de validité.
Par exemple schématiquement :
[code]initialisation de la variable erreur
$erreur = null;
tests
if champ 1 non rempli -> $erreur = 'champ 1 non rempli';
if champ 2 non rempli $erreur = 'champ 2 non rempli';
Si une erreur est survenue la variable $erreur n'est plus nulle.
Or le code d'envoi de mail doit s'effectuer uniquement si elle est nulle (si aucune erreur n'a été détectée la variable a gardé son état initial).
Donc on peut écrire
if (is_null($erreur)) {... code d'envoi du mail ...}[/code]
Dans cet exemple tu pourrais aussi écrire if (!isset($erreur)) à la place de if (is_null($erreur))