Probleme envoi formulaire en php
ptinouvo
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
ptinouvo -
ptinouvo -
Bonjour,
J'ai un soucis: j'ai crée un formulaire de contact sur mon site web.
J'ai écrit un script php pour qu'il me soit envoyé à mon adresse mail mais problème ça ne marche pas. Je suis nouvo dans le web!! Merci pour votre aide
Voici le code de mon formulaire:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<p align="center"><strong>Contact</strong></p>
<table width="500" border="0" align="center" cellpadding="0" cellspacing="0">
<form action="envoi.php" method="post" enctype="application/x-www-form-urlencoded" name="formulaire">
<tr>
<td colspan="3"><strong>Envoyer un message</strong></td>
</tr>
<tr>
<td><div align="left">Votre nom :</div></td>
<td colspan="2"><input type="text" name="nom" size="45" maxlength="100"></td>
</tr>
<tr>
<td width="17%"><div align="left">Votre mail :</div></td>
<td colspan="2"><input type="text" name="mail" size="45" maxlength="100"></td>
</tr>
<tr>
<td><div align="left">Sujet : </div></td>
<td colspan="2"><input type="text" name="objet" size="45" maxlength="120"></td>
</tr>
<tr>
<td><div align="left">Message : </div></td>
<td colspan="2"><textarea name="message" cols="50" rows="10"></textarea></td>
</tr>
<tr>
<td></td>
<td width="42%"><center>
<input type="reset" name="Submit" value="Réinitialiser le formulaire">
</center></td>
<td width="41%"><center>
<input type="submit" name="Submit" value="Envoyer">
</center></td>
</tr>
</form>
</table>
Et voici le code php de mon fichier envoi.php:
1.<?php
$nom=$HTTP_POST_VARS['nom'];
$mail=$HTTP_POST_VARS['mail'];
$objet=$HTTP_POST_VARS['objet'];
$message=$HTTP_POST_VARS['message'];
/////voici la version Mine
$headers = "MIME-Version: 1.0\r\n";
//////ici on détermine le mail en format text
$headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";
////ici on détermine l'expediteur et l'adresse de réponse
$headers .= "From: $nom <$mail>\r\nReply-to : $nom <$mail>\nX-Mailer:PHP";
$subject="$objet";
$destinataire="mon adresse@yahoo.fr"; //remplacez "webmaster@votre-site.com" par votre adresse e-mail
$body="$message";
if (mail($destinataire,$subject,$body,$headers)) {
echo "Votre mail a été envoyé<br>";
} else {
echo "Une erreur s'est produite";
}
?></p>
<p align="center">Vous allez bientot etre redirigé vers la page d'acceuil<br>
Si vous n'etes pas redirigé au bout de 5 secondes cliquez <a href="http://www.henrilamare.com">ici
</a></p>
Merci d'avance pour résoudre ce problème qui n'est pas bien compliqué pour un informaticien aguerri mais qui constitue un réel obstacle pour un novice.
J'ai un soucis: j'ai crée un formulaire de contact sur mon site web.
J'ai écrit un script php pour qu'il me soit envoyé à mon adresse mail mais problème ça ne marche pas. Je suis nouvo dans le web!! Merci pour votre aide
Voici le code de mon formulaire:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<p align="center"><strong>Contact</strong></p>
<table width="500" border="0" align="center" cellpadding="0" cellspacing="0">
<form action="envoi.php" method="post" enctype="application/x-www-form-urlencoded" name="formulaire">
<tr>
<td colspan="3"><strong>Envoyer un message</strong></td>
</tr>
<tr>
<td><div align="left">Votre nom :</div></td>
<td colspan="2"><input type="text" name="nom" size="45" maxlength="100"></td>
</tr>
<tr>
<td width="17%"><div align="left">Votre mail :</div></td>
<td colspan="2"><input type="text" name="mail" size="45" maxlength="100"></td>
</tr>
<tr>
<td><div align="left">Sujet : </div></td>
<td colspan="2"><input type="text" name="objet" size="45" maxlength="120"></td>
</tr>
<tr>
<td><div align="left">Message : </div></td>
<td colspan="2"><textarea name="message" cols="50" rows="10"></textarea></td>
</tr>
<tr>
<td></td>
<td width="42%"><center>
<input type="reset" name="Submit" value="Réinitialiser le formulaire">
</center></td>
<td width="41%"><center>
<input type="submit" name="Submit" value="Envoyer">
</center></td>
</tr>
</form>
</table>
Et voici le code php de mon fichier envoi.php:
1.<?php
$nom=$HTTP_POST_VARS['nom'];
$mail=$HTTP_POST_VARS['mail'];
$objet=$HTTP_POST_VARS['objet'];
$message=$HTTP_POST_VARS['message'];
/////voici la version Mine
$headers = "MIME-Version: 1.0\r\n";
//////ici on détermine le mail en format text
$headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";
////ici on détermine l'expediteur et l'adresse de réponse
$headers .= "From: $nom <$mail>\r\nReply-to : $nom <$mail>\nX-Mailer:PHP";
$subject="$objet";
$destinataire="mon adresse@yahoo.fr"; //remplacez "webmaster@votre-site.com" par votre adresse e-mail
$body="$message";
if (mail($destinataire,$subject,$body,$headers)) {
echo "Votre mail a été envoyé<br>";
} else {
echo "Une erreur s'est produite";
}
?></p>
<p align="center">Vous allez bientot etre redirigé vers la page d'acceuil<br>
Si vous n'etes pas redirigé au bout de 5 secondes cliquez <a href="http://www.henrilamare.com">ici
</a></p>
Merci d'avance pour résoudre ce problème qui n'est pas bien compliqué pour un informaticien aguerri mais qui constitue un réel obstacle pour un novice.
A voir également:
- Probleme envoi formulaire en php
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook - Guide
- Envoi impossible messenger - Forum Facebook Messenger
- Civilité sur un formulaire - Forum VB / VBA
- Formulaire de reclamation instagram - Guide
8 réponses
Tu es nouveau dans le monde du Web mais tu codes avec des anciennes pratiques.
C'est $_POST et pas $HTTP_POST_VARS
Et il faut voir si ton hébergeur accepte la fonction mail()
C'est $_POST et pas $HTTP_POST_VARS
Et il faut voir si ton hébergeur accepte la fonction mail()
Ok F16, je réactualise mon code
.<?php
$nom=$_POST['nom'];
$mail=$_POST['mail'];
$objet=$_POST['objet'];
$message=$_POST['message'];
/////voici la version Mine
$headers = "MIME-Version: 1.0\r\n";
//////ici on détermine le mail en format text
$headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";
////ici on détermine l'expediteur et l'adresse de réponse
$headers .= "From: $nom <$mail>\r\nReply-to : $nom <$mail>\nX-Mailer:PHP";
$subject="$objet";
$destinataire="mon adresse@yahoo.fr"; //remplacez "webmaster@votre-site.com" par votre adresse e-mail
$body="$message";
if (mail($destinataire,$subject,$body,$headers)) {
echo "Votre mail a été envoyé<br>";
} else {
echo "Une erreur s'est produite";
}
?></p>
<p align="center">Vous allez bientot etre redirigé vers la page d'acceuil<br>
Si vous n'etes pas redirigé au bout de 5 secondes cliquez <a href="http://www.henrilamare.com">ici
</a></p>
J'ai mis en ligne le formulaire, quand je fais un test, il m'indique que le formulaire à bien été envoyé ( c'est que mon hébregeur accepte la fonction mail??? mais je ne reçois pas le mail.
Mon hébergeur est OVH.
.<?php
$nom=$_POST['nom'];
$mail=$_POST['mail'];
$objet=$_POST['objet'];
$message=$_POST['message'];
/////voici la version Mine
$headers = "MIME-Version: 1.0\r\n";
//////ici on détermine le mail en format text
$headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";
////ici on détermine l'expediteur et l'adresse de réponse
$headers .= "From: $nom <$mail>\r\nReply-to : $nom <$mail>\nX-Mailer:PHP";
$subject="$objet";
$destinataire="mon adresse@yahoo.fr"; //remplacez "webmaster@votre-site.com" par votre adresse e-mail
$body="$message";
if (mail($destinataire,$subject,$body,$headers)) {
echo "Votre mail a été envoyé<br>";
} else {
echo "Une erreur s'est produite";
}
?></p>
<p align="center">Vous allez bientot etre redirigé vers la page d'acceuil<br>
Si vous n'etes pas redirigé au bout de 5 secondes cliquez <a href="http://www.henrilamare.com">ici
</a></p>
J'ai mis en ligne le formulaire, quand je fais un test, il m'indique que le formulaire à bien été envoyé ( c'est que mon hébregeur accepte la fonction mail??? mais je ne reçois pas le mail.
Mon hébergeur est OVH.
<?php /* Données */ $nom = $_POST['nom']; $mail = $_POST['mail']; $subject = $_POST['objet']; $body = $_POST['message']; /* Entêtes */ $headers = 'Content-type: text/plain; charset=iso-8859-1'."\r\n"; $headers .= 'From: '.$nom.' <'.$mail.'>'."\r\n"; $headers .= 'Reply-to: '.$nom.' <'.$mail.'>'."\r\n"; $headers .= 'X-Mailer: PHP/'.phpversion(); $destinataire = 'monadresse@yahoo.fr'; if(mail($destinataire,$subject,$body,$headers)) { echo "Votre mail a été envoyé<br>"; } else { echo "Une erreur s'est produite"; } ?> </p> <p style="text-align:center;"> Vous allez bientôt être redirigé vers la page d'accueil<br/> Si vous n'êtes pas redirigé au bout de 5 secondes, cliquez <a href="http://www.henrilamare.com">ici</a>. </p>J'ai un peu améliorer ton code.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
moi j'avais des pb avec \r\n et j'avais lu dans le forum OVH qu'il ne les fallait pas, j'ai modifie mes scripts en \n et ils fonctionnent.
Cela date d'un an au moins, je n'ai pas réessayé depuis.
Cela date d'un an au moins, je n'ai pas réessayé depuis.
En tout cas je viens d'essayer et le mail m'est bien transmis sauf que dans le mail que je reçois il n'ya pas l'adresse mail de l'expediteur que je lui demande de renseigner dans le formulaire!!
Mais sinon vous êtes des pros merci!!!
Si vous avez une idée comment améliorer mon code pour que je reçoive totues les infos du formulaire!!
Merci d'avance
Mais sinon vous êtes des pros merci!!!
Si vous avez une idée comment améliorer mon code pour que je reçoive totues les infos du formulaire!!
Merci d'avance
tu reuperes bien:
$nom = $_POST['nom'];
$mail = $_POST['mail'];
$subject = $_POST['objet'];
$body = $_POST['message'];
mais dans le mail envoyé
mail($destinataire,$subject,$body,$headers)
tu ne reprend que le sujet et le body
donc il faut:
$nom = $_POST['nom'];
$mail = $_POST['mail'];
$subject = $_POST['objet'];
$body = $_POST['message'];
mais dans le mail envoyé
mail($destinataire,$subject,$body,$headers)
tu ne reprend que le sujet et le body
donc il faut:
$nom = $_POST['nom']; $mail = $_POST['mail']; $subject = $_POST['objet']; $body=$nom."\n ".$mail."\n\n"; // \n c'est pour avoir des saut de ligne dans ton mail $body .= $_POST['message'];