Formulaire contact, mettre email de l'internaute en expéditeur?

Résolu/Fermé
kcnarfy Messages postés 2 Date d'inscription vendredi 21 octobre 2016 Statut Membre Dernière intervention 22 octobre 2016 - 21 oct. 2016 à 08:07
kcnarfy Messages postés 2 Date d'inscription vendredi 21 octobre 2016 Statut Membre Dernière intervention 22 octobre 2016 - 22 oct. 2016 à 07:32
Bonjour
Si quelqu'un peut m'aider, j'ai un site web avec un formulaire de contact qui fonctionne; cependant, quand je fais "repondre" au mail que je recois, le destinataire c'est mon mail; or il faudrait que ce soit celui rempli dans le champ "votre adresse email" par le visiteur... Sauriez vous quoi modifier ou rajouter pour cela? Merci beaucoup


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<?php $email_dest = "Franck <contact@monsiteweb.fr>";







if ($_POST['envoi']) {







$message_remerciement = "Votre message a bien été envoyé. MERCI";







// E-mail headers:



$headers ="MIME-Version: 1.0 \n";



$headers .="From: <info@monsiteweb.fr>\n";







$headers .="Content-Type: text/html; charset=iso-8859-1 \n";







$subject = "Une question au webmaster";







$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, "-f info@monsiteweb.fr")) {



echo '<script>



alert( "Envoi du formulaire impossible");



</script>';



} // Closing if !mail...



echo '<script>



alert( "Votre message a bien été envoyé." );



top.document.location = "/";



</script>';



die;



} // Closing if edit



?>
<title>Contactez le Franck Depannage</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("Champs vide")
return false
} if (mail_form.champ2.value == "") {
alert("Champs vide")
return false
} if (mail_form.zone_email.value == "") {
alert("champs mal remplit")
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("message vide")
return false
} } // Fin de la fonction

</script>
</head>
<body>
<form name="mail_form" method="post"
action="/contact.php" 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();



}



?>
</p>
<p align="center"> </p>
<table align="center" border="0" width="566">
<tbody>
<tr>
<td><font face="Verdana" size="2">Votre
Nom</font></td>
<td><input name="champ1" type="text"></td>
</tr>
<tr>
<td><font face="Verdana" size="2">Votre
ville</font></td>
<td><input name="champ2" type="text"></td>
</tr>
<tr>
<td width=""><font face="Verdana"
size="2">Votre adresse e_mail</font></td>
<td width=""><input name="zone_email"
type="text"></td>
</tr>
<tr>
<td valign="top"><font face="Verdana"
size="2">Votre message</font></td>
<td><textarea name="zone_texte" cols="50"
rows="10"></textarea></td>
</tr>
<tr>
<td valign="top"><input name="nbre_champs_texte"
id="nbre_champs_texte" value="2" type="hidden">
<input name="nbre_zones_texte" value="1"
type="hidden"> <input name="nbre_zone_email"
value="1" type="hidden"> <input
name="titre_champ1" value="Votre Nom" type="hidden"><input
name="titre_champ2" value="ville"
type="hidden"><input name="titre_email"
value="Votre adresse e_mail" type="hidden"><input
name="titre_zone" value="Votre message" type="hidden"></td>
<td>
<div align="center"> <input name="Reset"
value="Effacer" type="reset"> <input name="envoi"
value="Envoyer" type="submit"> </div>
</td>
</tr>
</tbody>
</table>
<p></p>
<div align="center"></div>
</form>
</body>
</html>
A voir également:

1 réponse

animostab Messages postés 2829 Date d'inscription jeudi 10 mars 2005 Statut Membre Dernière intervention 11 novembre 2019 737
21 oct. 2016 à 14:47
Salut
c'est ici que se trouve l'erreur

$headers .="From: <info@monsiteweb.fr>\n";
il faudrait
$headers .= 'From: <'.$partie_zone_email.'>'."\n";
0
kcnarfy Messages postés 2 Date d'inscription vendredi 21 octobre 2016 Statut Membre Dernière intervention 22 octobre 2016
22 oct. 2016 à 07:32
Yes, c'est ça! Merciiii
0