Bonjour,
je suis en train de réaliser un site qui contient 2 formulaires php. Le premier est un formulaire de contact pour lequel je n'ai pas de soucis. Le second est une demande de devis qui contient des checkbox : c'est là que ça coince ! Je ne m'en sors pas.
Je livre l'ensemble de la page à qui voudra bien s'y pencher et je l'en remercie.
[code]<?php
$email_dest = "
[email protected]";
if ($_POST['envoi']) {
$message_remerciement = "Merci pour votre message.";
// E- mail headers:
$headers ="MIME-Version: 1.0 \n";
$headers .="From: E-Prospect.biz<
[email protected]>\n";
$headers .="Content-Type: text/html; charset=iso-8859-1 \n";
$subject = "Demande de devis";
$partie_entete = "<html><head>
<meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>
</head>
<body bgcolor=#FFFFFF>";
$partie_radiobutton = "";
$partie_checkbox = "";
$partie_champs_texte = "";
for ($a=1; $a<= $_POST['nbre_radiobutton']; $a++) {
$partie_radiobutton .= "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_radio'.$a] . " = " . $_POST['radio'.$a] . "</font> <br>
";
}
for ($a=1; $a<= $_POST['nbre_checkbox']; $a++) {
$partie_checkbox .= "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_box'.$a] . " = " . $_POST['box'.$a] . "</font> <br>
";
}
for ($a=1; $a<= $_POST['nbre_champs_texte']; $a++) {
$partie_champs_texte .= "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_champ'.$a] . " = " . $_POST['champ'.$a] . "</font><br>
";
}
if ($_POST['nbre_zone_email'] != 0) {
$partie_zone_email = "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_email'] . " = " . $_POST['zone_email'] . "</font><br>
";
}
if ($_POST['nbre_zones_texte'] != 0) {
$partie_zone_texte = "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_zone'] . " = " . $_POST['zone_texte'] . "</font><br>
";
$partie_zone_texte = stripslashes($partie_zone_texte);
}
$fin = "</body></html>";
$sortie = $partie_entete . $partie_radiobutton . $partie_checkbox . $partie_champs_texte . $partie_zone_email . $partie_zone_texte . $fin;
// Send the e-mail
if (@!mail($email_dest,$subject,$sortie,$headers)) {
echo("Envoi du formulaire impossible");
} // Closing if !mail...
} // Closing if edit
?>
<html>
<head>
<title>Votre Devis - E-Prospect.biz - e-mailing b2b, newsletters</title>
<meta name="description" content="E-Prospect.biz propose une gamme complète de services liés à la communication et la prospection par internet : e-mailing, constitution de fichiers, création de newsletters.">
<meta name="keywords"content="marketing, emailing, e-mailing, mailing, fichier, fichiers d'entreprises, prospection, b2b, btob, newsletter, kompass">
<meta name="abstract" content="E-Prospect.biz propose une gamme complète de services liés à la communication et la prospection par internet : e-mailing, constitution de fichiers, création de newsletters.">
<meta name="author" content="Alain Benlolo">
<meta name="copyright" content="Alain Benlolo 2007">
<meta http-equiv="Content-type" content="text/html;charset=iso-8859-1">
<meta name="language" content="fr">
<meta http-equiv="Content-Language" content="fr">
<meta name="robots" content="index, follow">
<meta name="revisit-after" content="30 days">
<meta name="reply-to" content="
[email protected]">
<meta name="identifier-url" content="http://
[email protected]">
<meta name="subject" content="E-Prospect.biz propose une gamme complète de services liés à la communication et la prospection par internet : e-mailing, constitution de fichiers, création de newsletters.">
<meta name="expires" content="never">
<meta name="publisher" content="Alain Benlolo">
<meta name="location" content="France, FRANCE">
<meta name="rating" content="general">
<meta name="category" content="internet">
<meta name="Date-Creation-ddmmyyyy" content="07022007">
<meta name="DATE-REVISION-ddmmyyyy" content="">
<meta name="generator" content="">
<meta http-equiv="VW96.OBJECT TYPE" content="Document">
<link rel="stylesheet" href="style.css" type="text/css">
<script language="JavaScript"><!-- Hide script from older browsers
function verifSelection() {if (mail_form.champ1.value == "") {
alert("le champ raison_sociale doit être rempli")
return false
} if (mail_form.champ2.value == "") {
alert("le champ nom doit être rempli")
return false
} if (mail_form.champ3.value == "") {
alert("le champ adresse doit être rempli")
return false
} if (mail_form.champ4.value == "") {
alert("le champ cp doit être rempli")
return false
} if (mail_form.champ5.value == "") {
alert("le champ ville doit être rempli")
return false
}if (mail_form.zone_email.value == "") {
alert("le champ mail doit être rempli")
return false
}
invalidChars = " /:,;'"
for (i=0; i<invalidChars.length; i++) { // does it contain any invalid characters?
badChar = invalidChars.charAt(i)
if (mail_form.zone_email.value.indexOf(badChar,0) > -1) {
alert("Votre adresse e-mail contient des caractères invalides. Veuillez vérifier.")
mail_form.zone_email.focus()
return false
}
}
atPos = mail_form.zone_email.value.indexOf("@",1) // there must be one "@" symbol
if (atPos == -1) {
alert('Votre adresse e-mail ne contient pas le signe "@". Veuillez vérifier.')
mail_form.zone_email.focus()
return false
}
if (mail_form.zone_email.value.indexOf("@",atPos+1) != -1) { // and only one "@" symbol
alert('Il ne doit y avoir qu\'un signe "@". Veuillez vérifier.')
mail_form.zone_email.focus()
return false
}
periodPos = mail_form.zone_email.value.indexOf(".",atPos)
if (periodPos == -1) { // and at least one "." after the "@"
alert('Vous avez oublié le point "." après le signe "@". Veuillez vérifier.')
mail_form.zone_email.focus()
return false
}
if (periodPos+3 > mail_form.zone_email.value.length) { // must be at least 2 characters after the
alert('Il doit y avoir au moins deux caractères après le signe ".". Veuillez vérifier.')
mail_form.zone_email.focus()
return false
}} // Fin de la fonction
</script>
</head>
<body bgcolor="#CCCCCC">
<div align="center">
<table width="90%" border="0" cellspacing="0" height="" bgcolor="#FFFFFF">
<tr>
<td width="25%"><font face="Verdana, Arial, Helvetica, sans-serif" size="3"><a href="index.php"><b>Retour
à l'accueil</b></a></font></td>
<td> </td>
<td width="70%"> </td>
</tr>
<tr>
<td width="25%" height="578" valign="top" bgcolor="#FF0000">
<p><b><font face="Verdana, Arial, Helvetica, sans-serif" color="#FFFF00" size="3"><br>
Création</font></b></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000099"><a href="tarif.htm">-
bases de données complètes<br>
- bases d'e-mails<br>
- newsletter<br>
- e-mailing</a></font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="3"><b><font color="#FFFF00">Campagne
d'e-mailing complète</font></b></font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000099"><a href="tarif.htm">-
base d'e-mails<br>
+ newsletter<br>
+ lien de désabonnement<br>
+ e-mailing</a></font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000099">
</font></p>
<p>
<div align="center">
<table width="90%" border="1" cellspacing="0" bgcolor="#FFFFFF" bordercolor="#FFFF00">
<tr>
<td>
<div align="center"><a href="conseils.htm">Conseils de marketing
gratuits<br>
semaine du 04 au 10/06</a></div>
</td>
</tr>
</table>
<hr>
<font face="Verdana, Arial, Helvetica, sans-serif" size="2"><a href="contact.php">Contactez-moi</a></font>
<hr>
</div>
<center>
<table width="90%" border="0" cellspacing="0">
<tr>
<td bgcolor="#FFFFFF">
<div align="center"><a href="http://www.ontroovtoo.com" target="_blank" title="Ontroovtoo.com, annuaire généraliste francophone"><img src="http://www.ontroovtoo.com/images/banniere2.jpg" width="200" height="28" border="0" alt="Ontroovtoo.com, annuaire généraliste francophone"></a><br>
<font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FF0000">Ontroovtoo.com,<br>
référencement gratuit</font> </div>
</td>
</tr>
</table>
</center>
</td>
<td height="578" valign="top">
<div align="left">
<p><font face="Arial, Helvetica, sans-serif" size="2" color="#0066FF"></font></p>
</div>
</td>
<td width="70%" height="578" valign="top">
<div align="left">
<p>
<b><font face="Verdana, Arial, Helvetica, sans-serif" size="4" color="#000066">Devis</font><font face="Verdana, Arial, Helvetica, sans-serif" size="4" color="#000066">
: <br><form name="mail_form" method="post" action="<?=$PHP_SELF?>" onSubmit="return verifSelection()">
<div align="center"></div>
<p align="center">
<?php
if ($message_remerciement) {
echo("<font face=Verdana size=2>");
echo(stripslashes($message_remerciement));
echo("</p></body></html>");
exit();
}
?>
<table width="549" border="0" bgcolor="#FFFFFF" cellpadding="1" cellspacing="0" align="center" height="495">
<tr>
<td align="center" valign="top"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="3" color="#000000">Définissez
votre demande et vos critères,<br>
et recevez un comptage gratuit et une offre personnelle.</font><font face="Verdana, Arial, Helvetica, sans-serif" size="4" color="#000066"><br>
</font></b></td>
</tr>
<tr>
<td valign="top">
<p><b><font face="Verdana, Arial, Helvetica, sans-serif" size="4" color="#000066"><br>
</font></b>
<table width="75%" border="0">
<tr>
<td width="6%"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000">Raison
sociale<font size="1" color="#FF0000">*</font></font></b></td>
<td colspan="3"> <font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000"><b>
<input type="text" name="raison_sociale" size="80">
</b></font></td>
<td width="4%"> </td>
<td width="16%"> </td>
</tr>
<tr>
<td width="6%"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000">Nom<font size="1" color="#FF0000">*</font></font></b></td>
<td width="48%"> <font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000"><b>
<input type="text" name="nom" size="80">
</b></font></td>
<td width="3%"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000"></font></td>
<td width="23%"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000"></font></td>
<td width="4%"> </td>
<td width="16%"> </td>
</tr>
<tr>
<td width="6%"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000">Adresse<font size="1" color="#FF0000">*</font></font></b></td>
<td width="48%"> <font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000"><b>
<input type="text" name="adresse" size="80">
</b></font></td>
<td width="3%"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000">CP<font size="1" color="#FF0000">*</font></font></b></td>
<td width="23%"> <font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000"><b>
<input type="text" name="cp">
</b></font></td>
<td width="4%"> </td>
<td width="16%"> </td>
</tr>
<tr>
<td width="6%"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000">Tél.</font></b></td>
<td width="48%"> <font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000"><b>
<input type="text" name="tel">
Fax
<input type="text" name="fax">
</b></font></td>
<td width="3%"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000">Ville<font size="1" color="#FF0000">*</font></font></b></td>
<td width="23%"> <font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000"><b>
<input type="text" name="ville">
</b></font></td>
<td width="4%"> </td>
<td width="16%"> </td>
</tr>
<tr>
<td width="6%"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000">E-Mail<font size="1" color="#FF0000">*</font></font></b></td>
<td valign="top"> <font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000"><b>
<input type="text" name="mail" size="80">
</b></font></td>
<td valign="middle"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000">Pays</font></b></td>
<td valign="top"> <font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000"><b>
<input type="text" name="pays">
</b></font></td>
<td width="4%"> </td>
<td width="16%"> </td>
</tr>
</table>
<hr>
<table width="95%" border="0">
<tr>
<td width="50%"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000">VOTRE
DEMANDE</font></b></td>
<td colspan="2">
<div align="left"><font size="2" color="#000000"><b><font face="Verdana, Arial, Helvetica, sans-serif">VOS
CRITERES </font></b></font></div>
</td>
</tr>
<tr>
<td rowspan="2" width="50%" valign="top"> <font size="2" color="#000000"><b><font face="Verdana, Arial, Helvetica, sans-serif">
<input type="checkbox" name="bdd" value="checkbox">
Bases de données B2B <br>
<input type="checkbox" name="bdd-mails" value="checkbox">
Fichier d'e-mails<br>
<input type="checkbox" name="newsletter" value="checkbox">
Newsletter<br>
<input type="checkbox" name="desabo" value="checkbox">
Page de désabonnement<br>
<input type="checkbox" name="envoi" value="checkbox">
Envoi d'un e-mailing<br>
<input type="checkbox" name="campagne" value="checkbox">
Campagne d'e-mailing compète<br>
</font></b></font></td>
<td width="13%" valign="top">
<div align="left"><font size="2" color="#000000"><b><font face="Verdana, Arial, Helvetica, sans-serif">Activités</font></b></font></div>
</td>
<td width="37%" valign="top"> <b><font face="Verdana, Arial, Helvetica, sans-serif" size="4" color="#000066">
<textarea name="textarea" cols="40"></textarea>
</font></b></td>
</tr>
<tr>
<td width="13%" valign="top"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000">Départements</font>
</b></td>
<td width="37%" valign="top"> <b><font face="Verdana, Arial, Helvetica, sans-serif" size="4" color="#000066">
<textarea name="textarea" cols="40"></textarea>
</font></b></td>
</tr>
</table>
<p><b><font size="4" face="Verdana, Arial, Helvetica, sans-serif" color="#000066">
<input type="submit" name=" O K 2" value="Envoyez !">
</font><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000"><font size="1" color="#FF0000">*
</font></font></b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000"><font size="1" color="#FF0000">renseignements
obligatoires</font></font></p>
</td>
</tr>
</table>
<p align="center">
<div align="center"></div>
</form>
Pour l'instant la page s'affiche sans erreur apparente. Sauf que sur "envoi" il ne se passe rien. Même pas l'activation des messages d'erreur pour compléter les champs obligatoires.
Merci pour toute aide.
</font></b></div>
<p align="right"><font face="Arial, Helvetica, sans-serif" size="2" color="#0066FF"></font></p>
</td>
</tr>
</table>
</div>
</body>
</html>
[/code]
La page s'affiche sans erreur apparente. Sauf que sur "envoi" rien ne se passe. Même pas les messages d'erreur pour les champs obligatoires si on les laisse vides.