Fonction ARRAY code PHP
Résolu
spirit_63
-
spirit_63 -
spirit_63 -
Bonjour à tous,
Jai un soucis avec cette fonction, car lorsque l'on rempli le formulaire et qu'il affiche les champs manquants, la fonction "array" s'affiche si une des cases est cochée (pas très stylé) :-)
Ex : http://www.escaliers-style.fr/images/array.png
Mon code :
L'affichage pour les boutons:
Si vous pouviez m'aider pour modifier mon code pour éviter ce style d'affichage....
Merci d'avance pour votre aide
Jai un soucis avec cette fonction, car lorsque l'on rempli le formulaire et qu'il affiche les champs manquants, la fonction "array" s'affiche si une des cases est cochée (pas très stylé) :-)
Ex : http://www.escaliers-style.fr/images/array.png
Mon code :
<?php $color_font_warn="white"; $color_form_warn="#656565"; $list['f_10']=array("Sélectionnez","Maison"," Appartement"," Immeuble"); $list['f_11']=array("Sélectionnez","bois"," béton"," granito"," pierre"," métallique"," autre"); $list['f_13']=array("Sélectionnez","tournant"," balancé"," double quart tournant"," droit","hélicoïdal"); $list['f_14']=array("oui","non"); $list['f_17']=array("Intérieur","Extérieur"); 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(eregi_replace("[^0-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(eregi_replace("[^0-9\ +]", "", $f_7)); $f_8=strip_tags(trim($f_8)); $f_12=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_12))); $f_15=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_15))); $f_16=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_16))); // Verification des champs if(strlen($f_1)<2){ $erreur.="<li><span class='txterror'>Le champ « Nom » est vide ou incomplet.</span>"; $errf_1=1; } if(strlen($f_2)<2){ $erreur.="<li><span class='txterror'>Le champ « Prénom » est vide ou incomplet.</span>"; $errf_2=1; } if(strlen($f_4)<2){ $erreur.="<li><span class='txterror'>Le champ « Code postal » est vide ou incomplet.</span>"; $errf_4=1; } if(strlen($f_5)<2){ $erreur.="<li><span class='txterror'>Le champ « Ville - Dept » est vide ou incomplet.</span>"; $errf_5=1; } if(strlen($f_8)<2){ $erreur.="<li><span class='txterror'>Le champ « Adresse Email » est vide ou incomplet.</span>"; $errf_8=1; }else{ if(!ereg('^[-!#$%&\'*+\./0-9=?A-Z^_'a-z{|}~]+'. '@'. '[-!#$%&\'*+\/0-9=?A-Z^_'a-z{|}~]+\.'. '[-!#$%&\'*+\./0-9=?A-Z^_'a-z{|}~]+$', $f_8)){ $erreur.="<li><span class='txterror'>La syntaxe de votre adresse e-mail n'est pas correcte.</span>"; $errf_8=1; } } if($f_10==0){ $erreur.="<li><span class='txterror'>Le champ « Type » n'a pas été défini.</span>"; $errf_10=1; } if($f_11==0){ $erreur.="<li><span class='txterror'>Le champ « Escaliers » n'a pas été défini.</span>"; $errf_11=1; } if($f_13==0){ $erreur.="<li><span class='txterror'>Le champ « Escalier » n'a pas été défini.</span>"; $errf_13=1; } if(!$f_14){ $erreur.="<li><span class='txterror'>Le champ « Palier » requiert au moins une sélection.</span>"; $errf_14=1; } if(strlen($f_16)<2){ $erreur.="<li><span class='txterror'>Le champ « Nombre de marches » est vide ou incomplet.</span>"; $errf_16=1; } if(strlen($f_17)<2){ $erreur.="<li><span class='txterror'>Le champ « Emplacement » est vide ou incomplet.</span>"; $errf_16=1; } if($erreur==""){ // Création du message $titre="Demande de renseignement"; $tete="From:*****\n"; $corps.="Nom : ".$f_1." \n"; $corps.="Prénom : ".$f_2."\n"; $corps.="Adresse : ".$f_3."\n"; $corps.="Code postal : ".$f_4."\n"; $corps.="Ville - Dept : ".$f_5."\n"; $corps.="Téléphone domicile : ".$f_6."\n"; $corps.="Téléphone mobile : ".$f_7."\n"; $corps.="Adresse Email : ".$f_8."\n"; $corps.="Votre message : ".$f_9."\n"; $corps.="Type : ".$list['f_10'][$f_10]."\n"; $corps.="Escalier actuel : ".$list['f_11'][$f_11]."\n"; $corps.="Si autre matière : ".$f_12."\n"; $corps.="Escalier : ".$list['f_13'][$f_13]."\n"; for($id=0; $id<count($list['f_14']); $id++){ if($f_14[$id]==1){ $corps.="Palier : ".$list['f_14'][$id]."\n"; } } $corps.="Age escalier : ".$f_15."\n"; $corps.="Nombre de marches : ".$f_16."\n"; for($id=0; $id<count($list['f_17']); $id++){ if($f_17[$id]==1){ $corps.="Emplacement : ".$list['f_17'][$id]."\n"; } } if(mail("*****", $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>"; } } } ?>
L'affichage pour les boutons:
<td align='right' width='30%'><span class='txtform'>Emplacement* :</span></td><td><?echo stripslashes($f_14);?> <table border='0' cellspacing='0' cellpadding='0'> <? for($id=0;$id<count($list['f_17']);$id++){ if($f_17[$id]==1){$ct="checked";} print("<tr><td><input ".$ct." type='checkbox' name='f_17[$id]' value='1' border='0'></td><td><span class='txtform'>".$list[f_17][$id]."</span></td></tr>"); unset($ct); }?> </table> </td> <tr><td align='right' width='30%'><span class='txtform'>Palier* :</span></td><td><?echo stripslashes($f_14);?> <table border='0' cellspacing='0' cellpadding='0'> <? for($id=0;$id<count($list['f_14']);$id++){ if($f_14[$id]==1){$ct="checked";} print("<tr><td><input ".$ct." type='checkbox' name='f_14[$id]' value='1' border='0'></td><td><span class='txtform'>".$list[f_14][$id]."</span></td></tr>"); unset($ct); }?> </table> </td></tr>
Si vous pouviez m'aider pour modifier mon code pour éviter ce style d'affichage....
Merci d'avance pour votre aide
A voir également:
- Fonction ARRAY code PHP
- Code ascii - Guide
- Fonction si et - Guide
- Code puk bloqué - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code activation windows 10 - Guide
2 réponses
Bonjour,
J'ai vu une coquille ici :
print("<tr><td><input ".$ct." type='checkbox' name='f_17[$id]' value='1' border='0'></td><td><span class='txtform'>".$list[f_17][$id]."</span>
à remplacer par
print("<tr><td><input ".$ct." type='checkbox' name='f_17[$id]' value='1' border='0'></td><td><span class='txtform'>".$list['f_17'][$id]."</span>
Manquait des '
J'ai vu une coquille ici :
print("<tr><td><input ".$ct." type='checkbox' name='f_17[$id]' value='1' border='0'></td><td><span class='txtform'>".$list[f_17][$id]."</span>
à remplacer par
print("<tr><td><input ".$ct." type='checkbox' name='f_17[$id]' value='1' border='0'></td><td><span class='txtform'>".$list['f_17'][$id]."</span>
Manquait des '
Merci pour votre aide
Mais apparemment (votre réponse m'a fait revenir sur le code),
Et il semblerai que c'était la fonction 1 qui causait le soucis d'affichage:
Avant :
Apres:
J'en ai rajouter 1 et laissé l'autre ['f_14'] sans appel et ca fonctionne... ???? C'est à rien n'y comprendre.
Merci encore pour votre message
Mais apparemment (votre réponse m'a fait revenir sur le code),
Et il semblerai que c'était la fonction 1 qui causait le soucis d'affichage:
Avant :
<?php $color_font_warn="white"; $color_form_warn="#656565"; $list['f_10']=array("Sélectionnez","Maison"," Appartement"," Immeuble"); $list['f_11']=array("Sélectionnez","bois"," béton"," granito"," pierre"," métallique"," autre"); $list['f_13']=array("Sélectionnez","tournant"," balancé"," double quart tournant"," droit","hélicoïdal"); $list['f_14']=array("oui","non"); $list['f_17']=array("Intérieur","Extérieur"); if(isset($_POST['submit'])){
Apres:
$list['f_10']=array("Sélectionnez","Maison"," Appartement"," Immeuble"); $list['f_11']=array("Sélectionnez","bois"," béton"," granito"," pierre"," métallique"," autre"); $list['f_13']=array("Sélectionnez","tournant"," balancé"," double quart tournant"," droit","hélicoïdal"); $list['f_14']=array("oui","non"); $list['f_18']=array("oui","non"); $list['f_17']=array("Intérieur","Extérieur"); if(isset($_POST['submit'])){
J'en ai rajouter 1 et laissé l'autre ['f_14'] sans appel et ca fonctionne... ???? C'est à rien n'y comprendre.
Merci encore pour votre message