A voir également:
- PHP : pb checkbox dans form
- Easy php - Télécharger - Divers Web & Internet
- Php?id=1 - Forum PHP
- \R php ✓ - Forum PHP
- Php if plusieurs conditions ✓ - Forum PHP
- Echo image php ✓ - Forum PHP
4 réponses
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
921
10 avril 2007 à 12:15
10 avril 2007 à 12:15
salut,
qu'est-ce qui ne fonctionne pas ?
tu ne réussis pas à retrouver les valeurs passées ?
pour les cases à cocher
qu'est-ce qui ne fonctionne pas ?
tu ne réussis pas à retrouver les valeurs passées ?
pour les cases à cocher
ben.... tout ce que j'ai, c'est ça, le form ne fait appel a aucun autre fichier, tout est dans la page... je te mets l'ensemble, parce que je ne sais pas ce que je dois t'envoyer:
<?php
$email_dest = "sev@terifik.fr";
if ($_POST['envoi']) {
$message_remerciement = "Merci de l'intérêt que vous nous portez. Votre demande sera traitée dans les meilleurs délais.";
// E-mail headers:
$headers ="MIME-Version: 1.0 \n";
$headers .="From: TE'RIFIK | STUDIO DE CRÉATION<severine@terifik.fr>\n";
$headers .="Content-Type: text/html; charset=iso-8859-1 \n";
$subject = "DEMANDE DE RENSEIGNEMENT";
$partie_entete = "<html><head>
<meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>
</head>
<body bgcolor=#FFFFFF>";
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_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>Assistant d'envoi de formulaires</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript"><!-- Hide script from older browsers
function verifSelection() {if (mail_form.champ1.value == "") {
alert("Merci de remplir ce champ")
return false
} if (mail_form.champ2.value == "") {
alert("Merci de remplir ce champ")
return false
} if (mail_form.champ3.value == "") {
alert("Merci de remplir ce champ")
return false
} if (mail_form.champ4.value == "") {
alert("Merci de remplir ce champ")
return false
} if (mail_form.champ5.value == "") {
alert("Merci de remplir ce champ")
return false
} if (mail_form.champ6.value == "") {
alert("Merci de remplir ce champ")
return false
} if (mail_form.zone_email.value == "") {
alert("Merci de remplir ce champ")
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
}if (mail_form.zone_texte.value == "") {
alert("N\'a pas souhaité apporté de commentaire")
return false
} } // Fin de la fonction
</script>
</head>
<body bgcolor="333333" link="#FF0099" vlink="#FF0066" alink="#FF0099">
<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();
}
?>
<div align="center"></div>
<table width="751" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td valign="top"><img src="http://www.terifik.fr/emailgolf/ies/haut.gif" width="751" height="24"></td>
</tr>
<tr>
<td valign="top"><img src="http://www.terifik.fr/emailgolf/ies/photo2.jpg" width="751" height="345"></td>
</tr>
<tr>
<td><table width="751" border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
<tr>
<td width="212" valign="top"><img src="http://www.terifik.fr/emailgolf/ies/poisson.jpg" width="212" height="550"></td>
<td valign="top"> <table width="539" border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top"> </td>
</tr>
<tr>
<td height="433" valign="top"> <table width="539" border="0" align="center" cellspacing="5">
<p align="center"> </p>
<tr>
<td height="2"><strong><font color="333333" size="2" face="Arial, Helvetica, sans-serif">JE
NE SOUHAITE PLUS ETRE CONTACTE</font></strong></td>
<td height="2"><input type="checkbox" name="choix" value="Je ne souhaite plus être contacté"></td>
</tr>
<tr>
<td height="3"> </td>
<td height="3"> </td>
</tr>
<tr>
<td colspan="2"><strong><font color="333333" size="2" face="Arial, Helvetica, sans-serif">JE
SOUHAITE AVOIR DE PLUS AMPLES INFORMATIONS SUR: </font></strong></td>
</tr>
<tr>
<td><font color="333333" size="2" face="Arial, Helvetica, sans-serif"><strong>BATIMENT</strong></font></td>
<td><input type="checkbox" name="choix" value="Je souhaite avoir de plus amples informations sur le BATIMENT"></td>
</tr>
<tr>
<td><font color="333333" size="2" face="Arial, Helvetica, sans-serif"><strong>SECURITE</strong></font></td>
<td><input type="checkbox" name="choix" value="Je souhaite avoir de plus amples informations sur la SECURITE"></td>
</tr>
<tr>
<td><font color="333333" size="2" face="Arial, Helvetica, sans-serif"><strong>GRANDE
HAUTEUR</strong></font></td>
<td><input type="checkbox" name="choix" value="Je souhaite avoir de plus amples informations sur la GRANDE HAUTEUR"></td>
</tr>
<tr>
<td width><font color="333333" size="2" face="Arial, Helvetica, sans-serif"><strong>INDUSTRIE</strong></font></td>
<td width><input type="checkbox" name="choix" value="Je souhaite avoir de plus amples informations sur l'INDUSTRIE"></td>
</tr>
<tr>
<td> </td>
<td width> </td>
</tr>
<tr>
<td><strong><font color="#333333" size="2" face="arial">ENTREPRISE</font></strong></td>
<td><input name="champ1" type="text"></td>
</tr>
<tr>
<td><strong><font color="#333333" size="2" face="arial">NOM
& PRÉNOM</font></strong></td>
<td> <div align="left">
<input name="champ2" type="text">
</div></td>
</tr>
<tr>
<td><strong><font color="#333333" size="2" face="arial">FONCTION</font></strong></td>
<td><input name="champ3" type="text"></td>
</tr>
<tr>
<td><strong><font color="#333333" size="2" face="arial">SERVICE</font></strong></td>
<td><input name="champ4" type="text"></td>
</tr>
<tr>
<td><strong><font color="#333333" size="2" face="arial">TÉLÉPHONE/FAX</font></strong></td>
<td><input name="champ5" type="text"></td>
</tr>
<tr>
<td width><strong><font color="#333333" size="2" face="arial">ADRESSE</font></strong></td>
<td><input name="champ6" type="text"></td>
</tr>
<tr>
<td><strong><font color="#333333" size="2" face="arial">MAIL</font></strong></td>
<td><input name="zone_email" type="text"></td>
</tr>
<tr>
<td valign="top"><strong><font color="#333333" size="2" face="arial">MESSAGE</font></strong></td>
<td><textarea name="zone_texte" cols="30" rows="8"></textarea></td>
</tr>
<tr>
<td valign="top"><input name="titre_zone_texte" type="hidden" value="MESSAGE">
<input name="titre_email" type="hidden" value="MAIL">
<input name="titre_champ1" type="hidden" value="ENTREPRISE">
<input name="titre_champ2" type="hidden" value="NOM & PRÉNOM">
<input name="titre_champ3" type="hidden" value="FONCTION">
<input name="titre_champ4" type="hidden" value="SERVICE">
<input name="titre_champ5" type="hidden" value="TEL/FAX">
<input name="titre_champ6" type="hidden" value="ADRESSE">
<input name="nbre_champs_texte" type="hidden" id="nbre_champs_texte2" value="6">
<input name="nbre_zones_texte" type="hidden" value="1">
<input name="nbre_zone_email" type="hidden" value="1">
<input name="choix" type="hidden" value="5">
</td>
<td> <div align="center">
<input type="reset" name="Reset" value="Effacer">
<input type="submit" name="envoi" value="Envoyer">
</div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td height="61" background="http://www.terifik.fr/emailgolf/ies/bas.gif"><div align="center"><font color="0E3B01" size="1" face="Arial, Helvetica, sans-serif"><strong><font color="#FF0066">TE'RIFIK</font></strong>
- 1, rue andré marie ampère 57070 metz - Tél./fax:
03 87 74 50 35 - <a href="mailto:contact@terifik.fr">contact@terifik.fr</a>
-<a href="https://www.terifik.fr/" target="_blank"> www.terifik.fr</a><br>
TE’RIFIK Copyright © 2007 Tous droits réservés</font></div></td>
</tr>
</table>
</form>
</body>
</html>
<?php
$email_dest = "sev@terifik.fr";
if ($_POST['envoi']) {
$message_remerciement = "Merci de l'intérêt que vous nous portez. Votre demande sera traitée dans les meilleurs délais.";
// E-mail headers:
$headers ="MIME-Version: 1.0 \n";
$headers .="From: TE'RIFIK | STUDIO DE CRÉATION<severine@terifik.fr>\n";
$headers .="Content-Type: text/html; charset=iso-8859-1 \n";
$subject = "DEMANDE DE RENSEIGNEMENT";
$partie_entete = "<html><head>
<meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>
</head>
<body bgcolor=#FFFFFF>";
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_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>Assistant d'envoi de formulaires</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript"><!-- Hide script from older browsers
function verifSelection() {if (mail_form.champ1.value == "") {
alert("Merci de remplir ce champ")
return false
} if (mail_form.champ2.value == "") {
alert("Merci de remplir ce champ")
return false
} if (mail_form.champ3.value == "") {
alert("Merci de remplir ce champ")
return false
} if (mail_form.champ4.value == "") {
alert("Merci de remplir ce champ")
return false
} if (mail_form.champ5.value == "") {
alert("Merci de remplir ce champ")
return false
} if (mail_form.champ6.value == "") {
alert("Merci de remplir ce champ")
return false
} if (mail_form.zone_email.value == "") {
alert("Merci de remplir ce champ")
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
}if (mail_form.zone_texte.value == "") {
alert("N\'a pas souhaité apporté de commentaire")
return false
} } // Fin de la fonction
</script>
</head>
<body bgcolor="333333" link="#FF0099" vlink="#FF0066" alink="#FF0099">
<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();
}
?>
<div align="center"></div>
<table width="751" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td valign="top"><img src="http://www.terifik.fr/emailgolf/ies/haut.gif" width="751" height="24"></td>
</tr>
<tr>
<td valign="top"><img src="http://www.terifik.fr/emailgolf/ies/photo2.jpg" width="751" height="345"></td>
</tr>
<tr>
<td><table width="751" border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
<tr>
<td width="212" valign="top"><img src="http://www.terifik.fr/emailgolf/ies/poisson.jpg" width="212" height="550"></td>
<td valign="top"> <table width="539" border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top"> </td>
</tr>
<tr>
<td height="433" valign="top"> <table width="539" border="0" align="center" cellspacing="5">
<p align="center"> </p>
<tr>
<td height="2"><strong><font color="333333" size="2" face="Arial, Helvetica, sans-serif">JE
NE SOUHAITE PLUS ETRE CONTACTE</font></strong></td>
<td height="2"><input type="checkbox" name="choix" value="Je ne souhaite plus être contacté"></td>
</tr>
<tr>
<td height="3"> </td>
<td height="3"> </td>
</tr>
<tr>
<td colspan="2"><strong><font color="333333" size="2" face="Arial, Helvetica, sans-serif">JE
SOUHAITE AVOIR DE PLUS AMPLES INFORMATIONS SUR: </font></strong></td>
</tr>
<tr>
<td><font color="333333" size="2" face="Arial, Helvetica, sans-serif"><strong>BATIMENT</strong></font></td>
<td><input type="checkbox" name="choix" value="Je souhaite avoir de plus amples informations sur le BATIMENT"></td>
</tr>
<tr>
<td><font color="333333" size="2" face="Arial, Helvetica, sans-serif"><strong>SECURITE</strong></font></td>
<td><input type="checkbox" name="choix" value="Je souhaite avoir de plus amples informations sur la SECURITE"></td>
</tr>
<tr>
<td><font color="333333" size="2" face="Arial, Helvetica, sans-serif"><strong>GRANDE
HAUTEUR</strong></font></td>
<td><input type="checkbox" name="choix" value="Je souhaite avoir de plus amples informations sur la GRANDE HAUTEUR"></td>
</tr>
<tr>
<td width><font color="333333" size="2" face="Arial, Helvetica, sans-serif"><strong>INDUSTRIE</strong></font></td>
<td width><input type="checkbox" name="choix" value="Je souhaite avoir de plus amples informations sur l'INDUSTRIE"></td>
</tr>
<tr>
<td> </td>
<td width> </td>
</tr>
<tr>
<td><strong><font color="#333333" size="2" face="arial">ENTREPRISE</font></strong></td>
<td><input name="champ1" type="text"></td>
</tr>
<tr>
<td><strong><font color="#333333" size="2" face="arial">NOM
& PRÉNOM</font></strong></td>
<td> <div align="left">
<input name="champ2" type="text">
</div></td>
</tr>
<tr>
<td><strong><font color="#333333" size="2" face="arial">FONCTION</font></strong></td>
<td><input name="champ3" type="text"></td>
</tr>
<tr>
<td><strong><font color="#333333" size="2" face="arial">SERVICE</font></strong></td>
<td><input name="champ4" type="text"></td>
</tr>
<tr>
<td><strong><font color="#333333" size="2" face="arial">TÉLÉPHONE/FAX</font></strong></td>
<td><input name="champ5" type="text"></td>
</tr>
<tr>
<td width><strong><font color="#333333" size="2" face="arial">ADRESSE</font></strong></td>
<td><input name="champ6" type="text"></td>
</tr>
<tr>
<td><strong><font color="#333333" size="2" face="arial">MAIL</font></strong></td>
<td><input name="zone_email" type="text"></td>
</tr>
<tr>
<td valign="top"><strong><font color="#333333" size="2" face="arial">MESSAGE</font></strong></td>
<td><textarea name="zone_texte" cols="30" rows="8"></textarea></td>
</tr>
<tr>
<td valign="top"><input name="titre_zone_texte" type="hidden" value="MESSAGE">
<input name="titre_email" type="hidden" value="MAIL">
<input name="titre_champ1" type="hidden" value="ENTREPRISE">
<input name="titre_champ2" type="hidden" value="NOM & PRÉNOM">
<input name="titre_champ3" type="hidden" value="FONCTION">
<input name="titre_champ4" type="hidden" value="SERVICE">
<input name="titre_champ5" type="hidden" value="TEL/FAX">
<input name="titre_champ6" type="hidden" value="ADRESSE">
<input name="nbre_champs_texte" type="hidden" id="nbre_champs_texte2" value="6">
<input name="nbre_zones_texte" type="hidden" value="1">
<input name="nbre_zone_email" type="hidden" value="1">
<input name="choix" type="hidden" value="5">
</td>
<td> <div align="center">
<input type="reset" name="Reset" value="Effacer">
<input type="submit" name="envoi" value="Envoyer">
</div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td height="61" background="http://www.terifik.fr/emailgolf/ies/bas.gif"><div align="center"><font color="0E3B01" size="1" face="Arial, Helvetica, sans-serif"><strong><font color="#FF0066">TE'RIFIK</font></strong>
- 1, rue andré marie ampère 57070 metz - Tél./fax:
03 87 74 50 35 - <a href="mailto:contact@terifik.fr">contact@terifik.fr</a>
-<a href="https://www.terifik.fr/" target="_blank"> www.terifik.fr</a><br>
TE’RIFIK Copyright © 2007 Tous droits réservés</font></div></td>
</tr>
</table>
</form>
</body>
</html>
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
921
10 avril 2007 à 14:55
10 avril 2007 à 14:55
ba vi, tu le mets pas ton mail... ;o)
j'ai lu en travers mais ça risque de suffire.
il faut ajouter un traitement pour les checkbox comme pour les champs texte :
et dans le formulaire il faut nommer les checkbox comme tu as nommé les champs text (chkbox1, chkbox2...) pour pouvoir itérer dans ta boucle php.
pour la désincription il faut l'ajouter comme le courriel :
et coder l'équivalant du champ mail pour le premier chk.
il faut faire la même chose avec les cases à cocher qu'avec les zones de saisie.
je ne sais pas si c'est très compréhensible...
je ne suis pas très fort en php mais je trouve le script très lourd avec des conditions et des variables qui me semblent inutiles.
j'ai lu en travers mais ça risque de suffire.
il faut ajouter un traitement pour les checkbox comme pour les champs texte :
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>"; }
et dans le formulaire il faut nommer les checkbox comme tu as nommé les champs text (chkbox1, chkbox2...) pour pouvoir itérer dans ta boucle php.
pour la désincription il faut l'ajouter comme le courriel :
if ($_POST['nbre_zone_email'] != 0) { $partie_zone_email = "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_email'] . " = " . $_POST['zone_email'] . "</font><br>"; }
et coder l'équivalant du champ mail pour le premier chk.
il faut faire la même chose avec les cases à cocher qu'avec les zones de saisie.
je ne sais pas si c'est très compréhensible...
je ne suis pas très fort en php mais je trouve le script très lourd avec des conditions et des variables qui me semblent inutiles.
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
921
>
Séverine
10 avril 2007 à 17:08
10 avril 2007 à 17:08
as-tu compris ce que j'essayais de te dire ?
quelle erreur as-tu ?
quelle erreur as-tu ?
Z3d
Messages postés
62
Date d'inscription
samedi 10 février 2007
Statut
Membre
Dernière intervention
10 avril 2007
2
10 avril 2007 à 17:18
10 avril 2007 à 17:18
Suffit de remettre ton mail, lolll
10 avril 2007 à 14:08
Merci.
Sév
10 avril 2007 à 14:18
oui mais pour cela le source html de la page ne suffit pas...
peux-tu nous coller le bout de script qui traite les données et envoie le mail, s'il te plait ?