Probleme de checkbox non reconnues dans formulaire

Résolu/Fermé
VIBI Messages postés 4 Date d'inscription lundi 18 février 2013 Statut Membre Dernière intervention 19 février 2013 - 18 févr. 2013 à 17:46
VIBI Messages postés 4 Date d'inscription lundi 18 février 2013 Statut Membre Dernière intervention 19 février 2013 - 19 févr. 2013 à 10:09
Bonjour,

J'ai essayé de rajouter des cases à cocher dans un formulaire PHP qui fonctionnait bien, mais il ne reconnait pas ces checkbox. Qui peut m'aider ?

le code html :

<input type="checkbox" name="Produit[]" value="produit1" style='width:200 <?if($errf_12==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_12' value='<?echo stripslashes($f_12);?>'/> produit1<br/>
<input type="checkbox" name="Produit[]" value="produit2" style='width:200 <?if($errf_13==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_13' value='<?echo stripslashes($f_13);?>'/> produit2<br/>
<input type="checkbox" name="Produit[]" value="produit3" style='width:200 <?if($errf_14==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_14' value='<?echo stripslashes($f_14);?>'/> produit3<br/>

le code php :

<?php

$color_font_warn="#FF0000";
$color_form_warn="#6fc1b4";


if(isset($_POST['submit'])){
$erreur="";
// Nettoyage des entrées
while(list($var,$val)=each($_POST)){
if(!is_array($val)){
$$var=strip_tags($val);
}else{
while(list($arvar,$arval)=each($val)){
$$var[$arvar]=strip_tags($arval);
}
}
}
// Formatage des entrées
$f_1=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_1)));
$f_2=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_2)));
$f_3=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_3)));
$f_4=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_4)));
$f_5=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_5)));
$f_6=trim(eregi_replace("[^0-9+]", "", $f_6));
$f_7=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_7)));
$f_8=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_8)));
$f_9=trim(eregi_replace("[^0-9\ +]", "", $f_9));
$f_10=trim(eregi_replace("[^0-9\ +]", "", $f_10));
$f_12=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_12)));
$f_13=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_13)));
$f_14=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_14)));
$f_11=strip_tags(trim($f_11));
// Verification des champs
if(strlen($f_2)<2){
$erreur.="<li><span class='txterror'>Le champ « Nom » est vide ou incomplet.</span>";
$errf_2=1;
}
if(strlen($f_6)<2){
$erreur.="<li><span class='txterror'>Le champ « Code postal » est vide ou incomplet.</span>";
$errf_6=1;
}
if(strlen($f_7)<2){
$erreur.="<li><span class='txterror'>Le champ « Ville » est vide ou incomplet.</span>";
$errf_7=1;
}
if(strlen($f_9)<2){
$erreur.="<li><span class='txterror'>Le champ « Téléphone » est vide ou incomplet.</span>";
$errf_9=1;
}
if(strlen($f_11)<2){
$erreur.="<li><span class='txterror'>Le champ « E-mail » est vide ou incomplet.</span>";
$errf_11=1;
}else{
if(!ereg('^[-!#$%&\'*+\./0-9=?A-Z^_'a-z{|}~]+'.
'@'.
'[-!#$%&\'*+\/0-9=?A-Z^_'a-z{|}~]+\.'.
'[-!#$%&\'*+\./0-9=?A-Z^_'a-z{|}~]+$',
$f_11)){
$erreur.="<li><span class='txterror'>La syntaxe de votre adresse e-mail n'est pas correcte.</span>";
$errf_11=1;
}
}
if($erreur==""){
// Création du message
$titre="Formulaire de contact";
$tete="From:mail@site.com\n";
$corps.="Prenom : ".$f_1."\n";
$corps.="Nom : ".$f_2."\n";
$corps.="Fonction : ".$f_3."\n";
$corps.="Etablissement : ".$f_4."\n";
$corps.="Adresse : ".$f_5."\n";
$corps.="Code postal : ".$f_6."\n";
$corps.="Ville : ".$f_7."\n";
$corps.="Pays : ".$f_8."\n";
$corps.="Telephone : ".$f_9."\n";
$corps.="Fax : ".$f_10."\n";
$corps.="E-mail : ".$f_11."\n";
$corps.="Produit1 : ".$f_12."\n";
$corps.="Produit2 : ".$f_13."\n";
$corps.="Produit3 : ".$f_14."\n";
$corps.="Votre message : ".$f_15."\n";
if(mail("mail@site.fr", $titre, stripslashes($corps), $tete)){
$ok_mail="true";
}else{
$erreur.="<li><span class='txterror'>Une erreur est survenue lors de l'envoi du message, veuillez refaire une tentative.</span>";
}
}
}
?>

-------------------- QUI PEUT M'AIDER ? -----------------
par avance, merci

3 réponses

Profil bloqué
18 févr. 2013 à 18:02
que veux tu dire par il ne reconnait aps les checkbox ? il ne les affiche pas du tout ?

déja remplace les <? par des <?php
0
VIBI Messages postés 4 Date d'inscription lundi 18 février 2013 Statut Membre Dernière intervention 19 février 2013
19 févr. 2013 à 09:31
Merci Waelb83.

je veux dire qu'il n'y a pas de transmission des valeurs cochées de ces checkbox, dans le retour mail, comme si ces champs n'existaient pas dans le formulaire... j'ai toutes les coordonnées + le message, mais pas les intitulés des cases à cochées ni leur valeur (vide ou cochées).
c ti clair ça ?!
0
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 565
19 févr. 2013 à 09:35
ça nous aiderait de savoir à quoi ressemble ton formulaire par contre...
0
VIBI Messages postés 4 Date d'inscription lundi 18 février 2013 Statut Membre Dernière intervention 19 février 2013
19 févr. 2013 à 09:43
Ok :

<? if($ok_mail=="true"){ ?>
<table width='100%' border='0' cellspacing='1' cellpadding='1'>
<tr><td><span class='txtform'>Le message ci-dessous nous a bien été transmis, et nous vous en remercions.</span></td></tr>
<tr><td> </td></tr>
<tr><td><tt><?echo nl2br(stripslashes($corps));?></tt></td></tr>
<tr><td> </td></tr>
<tr><td><span class='txtform'>Nous allons y donner suite dans les meilleurs délais.<br>A bientôt.</span></td></tr>
</table>
<? }else{ ?>
<form action='<? echo $PHP_SELF ?>' method='post' name='Form'>
<table width='100%' border='0' cellspacing='0' cellpadding='6'>
<? if($erreur){ ?>
<tr><td colspan='2' bgcolor='red'><span class='txterror'><font color='white'><b> ERREUR, votre message n'a pas été transmis</b></font></span></td></tr>
<tr><td colspan='2'><ul><?echo$erreur?></ul></td></tr><?}?>
<tr>
<td id="formulaire2" class="txtform">Prénom :</td>
<td id="formulaire2" class="txtform"> <input type='text' style='width:200 <?if($errf_1==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_1' value='<?echo stripslashes($f_1);?>' size='50' border='0'></td>
</tr>
<tr>
<td id="formulaire1" class="txtform">Nom* :</td>
<td id="formulaire1" class="txtform"> <input type='text' style='width:200 <?if($errf_2==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_2' value='<?echo stripslashes($f_2);?>' size='50' border='0'></td>
</tr>
<tr>
<td id="formulaire2" class="txtform">Fonction :</td>
<td id="formulaire2" class="txtform"> <input type='text' style='width:200 <?if($errf_3==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_3' value='<?echo stripslashes($f_3);?>' size='50' border='0'></td></tr>
<tr>
<td id="formulaire1" class="txtform">Etablissement :</span></td>
<td id="formulaire1" class="txtform"> <input type='text' style='width:200 <?if($errf_4==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_4' value='<?echo stripslashes($f_4);?>' size='50' border='0'></td></tr>
<tr>
<td id="formulaire2" class="txtform">Adresse :</td>
<td id="formulaire2" class="txtform"> <input type='text' style='width:200 <?if($errf_5==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_5' value='<?echo stripslashes($f_5);?>' size='50' border='0'></td></tr>
<tr>
<td id="formulaire1" class="txtform">Code postal* :</span></td>
<td id="formulaire1" class="txtform"> <input type='text' style='width:200 <?if($errf_6==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_6' value='<?echo stripslashes($f_6);?>' size='20' border='0'></td></tr>
<tr>
<td id="formulaire2" class="txtform">Ville* :</td>
<td id="formulaire2" class="txtform"> <input type='text' style='width:200 <?if($errf_7==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_7' value='<?echo stripslashes($f_7);?>' size='50' border='0'></td></tr>
<tr>
<td id="formulaire1" class="txtform">Pays :</span></td>
<td id="formulaire1" class="txtform"> <input type='text' style='width:200 <?if($errf_8==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_8' value='<?echo stripslashes($f_8);?>' size='50' border='0'></td></tr>
<tr>
<td id="formulaire2" class="txtform">Téléphone* :</td>
<td id="formulaire2" class="txtform"> <input type='text' style='width:200 <?if($errf_9==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_9' value='<?echo stripslashes($f_9);?>' size='20' border='0'></td></tr>
<tr>
<td id="formulaire1" class="txtform">Fax :</span></td>
<td id="formulaire1" class="txtform"> <input type='text' style='width:200 <?if($errf_10==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_10' value='
<?echo stripslashes($f_10);?>' size='20' border='0'></td></tr>
<tr>
<td id="formulaire2" class="txtform">E-mail* :</td>
<td id="formulaire2" class="txtform"> <input type='text' style='width:200 <?if($errf_11==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_11' value='
<?echo stripslashes($f_11);?>' size='50' border='0'></td></tr>

<tr>
<td id="formulaire1" class="txtform">Concerne une demande :</span></td>
<td id="formulaire1" class="txtform"> <br>

<input type="checkbox" name="Produit[]" value="produit1" style='width:200 <?if($errf_12==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_12' value='<?echo stripslashes($f_12);?>'/> produit1<br/>
<input type="checkbox" name="Produit[]" value="produit2" style='width:200 <?if($errf_13==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_13' value='<?echo stripslashes($f_13);?>'/> produit2<br/>
<input type="checkbox" name="Produit[]" value="produit3" style='width:200 <?if($errf_14==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_14' value='<?echo stripslashes($f_14);?>'/> produit3<br/>


</td>
</tr>
<tr>
<td id="formulaire1" class="txtform">Votre message :</span></td>
<td id="formulaire1" class="txtform"> <textarea style='width:360 <?if($errf_15==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_15' rows='6' cols='70'><?echo$f_15?></textarea></td>
</tr>
<tr>
<td id="formulaire2" class="txtform"> </td>
<td id="formulaire2" class="txtform"> <input type='submit' name='submit' value='Envoyer' border='0'></td>
</tr>
</table>
</form>
<? } ?>
0
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 565
19 févr. 2013 à 09:55
tu donnes 2 names à tes checkbox, si tu supprimes name="Produit[]" ça donne quoi ?
0
VIBI Messages postés 4 Date d'inscription lundi 18 février 2013 Statut Membre Dernière intervention 19 février 2013
19 févr. 2013 à 10:09
Bah OUI c'est tout bon, là ça fonctionne beaucoup mieux !
(punaise en plus je croyais les avoir supprimer à un test....)
Bravo TEBiShop, trop rapide en plus !

Merci à tous
;+)
0