Premier post pour moi parmi vous, je ne suis pas vraiment débutant en php, mais je n'en fait pas régulièrement (ca fait même assez longtemps), j'ai donc décidé de poster dans la section "débutant"...
Je m'arrache les cheveux depuis plusieurs jours sur un problème invisible...
J'ai fais un formulaire avec champ texte, liste à choix, et checkbox... le tout envoyé par mail avec la fonction mail() avec succès, sauf en ce qui concerne les checkbox...
je poste ici juste le code concernant les checkbox...
Je déclare mes variable post en début de fichier :
Code : Tout sélectionner
<?php
if(isset($_POST['VALIDER'])){
$civilite = $_POST['CIVILITE'];
$nom = $_POST['NOM'];
$choix = $_POST['CHOIX'];
$email = $_POST['EMAIL'];
$telephone = $_POST['TEL'];
$message = $_POST['MSG'];
$warning ="--- champ obligatoire ---";Code : Tout sélectionner
if(!empty($nom) && $nom !=$warning && !empty($email) && $email != $warning
&& $email != "--- email invalide ---" && eregi("^[_A-Za-z0-9.-]+@[A-Za-z0-9.-]{2,}[.][a-z]{2,3}$",$email)
&& !empty($telephone) && $telephone != $warning){
$msg .= "De: $civilite ";
$msg .= "$nom\n";
$msg .= "Email: $email\n";
$msg .= "Tel: $telephone\n\n";
$msg .= "souhaite recevoir des renseignements � propos de : $choix\n\n";
$msg .= "Message:\n$message\n";
$maboite = "[email protected]";
$subject = "Demande d'information provenant du site machin ";
$mailheaders = "From: $email<> \n";
$mailheaders .= "R�pondre: $email\n\n";
mail($maboite, $subject, $msg, $mailheaders);
echo "<HTML><HEAD>";
echo "<BODY BGCOLOR='#FFFFFF'>";
echo "<P align=center> </p>";
echo "<P align=center> </p>";
echo "<P align=center> </p>";
echo "<P align=center> </p>";
echo "<P align=center> </p>";
echo "<P align=center> </p>";
echo "<P align=center> </p>";
echo "<P align=center> </p>";
echo "<P align=center>Merci, ".$civilite." ".$nom;
echo "<P align=center>";
echo "Votre requête a bien été envoyée !</P>";
echo "<P align=center>Nous y donnerons suite dans les plus brefs delais</P>";
echo "<br><br><br>";
echo "<p align='left'> </p>
<p align='left'><font size='1'>Vous disposez d'un droit d'accès, de modification,
de rectification et de suppression des données qui vous concernent (art. 34
de la loi 'Informatique et Libertés'). Pour l'exercer, adressez-vous � : machin - n� rue truc 59000 VILLE.
TEL: 03.20.xx.xx.xx - FAX 03.20.xx.xx.xx
email: �[email protected]</font></p>";
echo "</BODY></HTML>";
exit;
}else{
if(empty($nom)){
$nom = "--- champ obligatoire ---";
}
if(empty($email)){
$email = "--- champ obligatoire ---";
}
if(empty($telephone)){
$telephone = "--- champ obligatoire ---";
}
if(!empty($email) && !eregi("^[_A-Za-z0-9.-]+@[A-Za-z0-9.-]{2,}[.][a-z]{2,3}$",$email)){
$email = "--- email invalide ---";
}
}
}
?>
Code : Tout sélectionner
<tr>
<td class="td_form" width="170">Type de bien :</td>
<td class="td_form" width="253">
<P>
<input type="checkbox" name="case1" value="Appartement"> Appartement
<input type="checkbox" name="case2" value="Maison"> Maison
<input type="checkbox" name="case3" value="Terrain"> Terrain
<input type="checkbox" name="case4" value="Immeuble"> Immeuble<br />
<input type="checkbox" name="case5" value="Garage"> Garage
<input type="checkbox" name="case6" value="Investissement"> Investissement
<input type="checkbox" name="case7" value="Co-propriété"> Co-propriété
<input type="checkbox" name="case8" value="Autre"> Autre
<input type="hidden" name="CHOIX" value="<?php $choix; ?>"><br />
<?php
$cases = 8;
for ($i = 1; $i <= $cases; $i++) {
$vn="case".$i;
$choix=$_POST[$vn];
echo $choix . ", ";
}
?>
Mais, Lorsque on valide le formulaire, l'email est bien envoyé, je récupère le contenu de tout les champs texte et autre, mais pas des checkbox.
Est-ce à cause du champ "HIDDEN" ? J'ai entendu parlé de problèmes avec les champs hidden.. serait-ce cela ? Avez vous un "truc" ?
Merci beaucoup de votre aide, je commence vraiment à craquer...