Aller au contenu

Code d'envoi de formulaire


Looping972

Sujets conseillés

Bonjour à tous,

Ne maîtrisant pas du tout le php, j'ai trouvé sur internet un code que j'ai adapté à mon cas et malheureusement, lors de la réception du formulaire dans ma boite aux lettres, les champs restent désespérément vides.

J'ai bien-sûr du commettre des erreurs dans le code mais lesquelles ?

Voici le code en question :

<?php 

$msg = "Société\t$societe\n";
$msg .= "Adresse\t$adresse\n";
$msg .= "Nom\t$nom\n";
$msg .= "Fonction\t$fonction\n";
$msg .= "Téléphone\t$phone\n";
$msg .= "Portable\t$portable\n";
$msg .= "Courriel\t$courriel\n";
$msg .= "Descriptif de votre demande\t$descriptif\n";
$msg .= "Dates souhaitées\t$dates\n";
$msg .= "Région Pays\t$region\n";
$msg .= "Nombre de participants\t$nbpersonnes\n";
$msg .= "Budget estimé\t$budget\n";
$msg .= "Prestations souhaitées\t$presta\n\n";


$recipient = "MON_AT_MAIL.fr";
$subject = "formcontact";

$mailheaders = "From: MONSITE<> \n";
$mailheaders .= "Reply-To: $CP\n\n";

mail($recipient, $subject, $msg, $mailheaders);

echo "<HTML><HEAD>";
echo "<TITLE>Formulaire envoyer!</TITLE></HEAD><BODY>";
echo "<H1 align=center>Merci, $nom </H1>";
echo "<P align=center>";
echo "Votre formulaire a bien été envoyé !</P>";
echo "</BODY></HTML>";

?>

Merci par avance à tous ceux qui pourront m'aider à solutionner mon soucis.

Modifié par Monique
Merci d'utiliser codebox pour plus de 10 lignes de code :)
Lien vers le commentaire
Partager sur d’autres sites

Salut,

Remplace

$mailheaders = "From: MONSITE<> \n";
$mailheaders .= "Reply-To: $CP\n\n";

Par

$mailheaders = 'From: mon_AT_email.com'."\r\nReply-To: mon_AT_email.com\r\n".'Date: '.date('r')."\r\n".'MIME-Version: 1.0'."\r\n".'Content-transfer-encoding: 8bit'."\r\n".'Content-type: text/plain; charset=iso-8859-1';

N'oublie pas de remplacer mon_AT_email.com par ton email ;)

Petite précision $recipient est l'email du destinataire

Modifié par Occi
Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

avant toute chose, il faut vérifier que tu reçois bien les valeurs de ton formulaire.

Essaye donc de faire un

print_r($_REQUEST);

en tout début de ton code. $_REQUEST est un tableau qui contient tous les paramètres passés à ta page, et les champs du formulaire doivent en faire partie.

Selon le résultat, on pourra alors t'aiguiller sur le formulaire ou sur l'émission du mail

Lien vers le commentaire
Partager sur d’autres sites

Je viens d'effectuer le test que tu m'as indiqué et il ne se passe rien de plus. J'ai à nouveau la liste des champs mais sans leur contenu !

Je précise que j'utilise un formulaire construit avec Dreamweaver MX 2004.

Merci encore.

Lien vers le commentaire
Partager sur d’autres sites

Essaye ceci dans une page .php vide :

<?php

$msg = "test";

$recipient = "MON_AT_MAIL.fr";
$subject = "formcontact";

$mailheaders = 'From: mon_AT_email.com'."\r\nReply-To: mon_AT_email.com\r\n".'Date: '.date('r')."\r\n".'MIME-Version: 1.0'."\r\n".'Content-transfer-encoding: 8bit'."\r\n".'Content-type: text/plain; charset=iso-8859-1';

mail($recipient, $subject, $msg, $mailheaders);

echo "<HTML><HEAD>";
echo "<TITLE>Formulaire envoyer!</TITLE></HEAD><BODY>";
echo "<H1 align=center>Merci, $nom </H1>";
echo "<P align=center>";
echo "Votre formulaire a bien été envoyé !</P>";
echo "</BODY></HTML>";

?>

En prenant soin de remplacer les données qui doivent l'être ($recipient et $mailheaders) et tu te rends à l'adresse où tu as posé ce code. Normalement tu devrais recevoir un email avec le mot "test" dans son contenu.

Si ça ne fonctionne pas vérifie dans ton phpinfo() si tu as la fonction mail activée.

Lien vers le commentaire
Partager sur d’autres sites

Merci Occi,

Je viens d'effectuer ton test et j'ai bien reçu le mail correspondant avec le mot test ! Donc mon problème est peut-être dans la structure de mon formulaire. Je te donne mon code :

<form action="envoi.php" method="post" enctype="text/plain" name="formcontact" class="Style2" id="formcontact">
<blockquote>
<p align="left">
<label><strong>Société</strong>
<input name="societe" type="text" id="societe" size="20" maxlength="20">
</label>
<br>
<label><strong>Adresse</strong>
<input name="adresse" type="text" id="adresse" size="50" maxlength="50">
</label>
<br>
<label><strong>Nom</strong>
<input name="nom" type="text" id="nom" size="20" maxlength="20">
</label>
<label><strong>Fonction</strong>
<input name="fonction" type="text" id="fonction" size="20" maxlength="20">
</label>
<br>
<label><strong>Téléphone</strong>
<input name="phone" type="text" id="phone" size="15" maxlength="15">
</label>
<label><strong>Portable</strong></label>
<input name="portable" type="text" id="portable" size="15" maxlength="15">
<br>
<label><strong>Courriel</strong>
<input name="courriel" type="text" id="courriel" size="25" maxlength="25">
</label>
<br>
<label><strong>Descriptif de votre demande</strong></label>
<br>
<textarea name="descriptif" cols="45" rows="3" id="descriptif"></textarea>
<label></label>
<br>
<label><strong>Dates souhaitées</strong>
<input name="dates" type="text" id="dates" size="30" maxlength="30">
</label>
<br>
<label><strong>Région / Pays</strong>
<input name="region" type="text" id="region" size="30" maxlength="30">
</label>
<br>
<label><strong>Nombre de participants</strong>
<input name="nbpersonnes" type="text" id="nbpersonnes" size="6" maxlength="6">
</label>
<label><strong>Budget estimé</strong>
<input name="budget" type="text" id="budget" size="12" maxlength="12">
</label>
<br>
<label><strong>Prestations souhaitées (transport, hébergement, ...) </strong></label>
<br>
<input name="presta" type="text" id="presta" size="50" maxlength="50">
<br>
<input name="reset" type="reset" id="reset" value="Réinitialiser">
<input type="submit" name="Submit" value="Envoyer">
</p>
</blockquote>
</form>

Merci par avance

Lien vers le commentaire
Partager sur d’autres sites

Merci à Jeanluc et Occi,

J'ai fini par trouver d'où venait mon erreur. En effet, en créant un formulaire html sans aucune autre info que le formulaire cela fonctionnait à merveille donc il ne ne s'agissait pas d'une erreur de mon code d'envoi.

J'ai donc créer une iframe dans mon calque dreamweaver avec le form.html seul et tout baigne maintenant.

Merci et à bientôt.

Lien vers le commentaire
Partager sur d’autres sites

Avec plaisir et tant mieux que tu es trouvé, par contre l'iframe pour le formulaire c'est une rustine. Quand tu auras l'occasion de revoir ton code je te conseille de dénicher ce qui clochait et de mettre ton formulaire directement sur la bonne page ;)

A bientôt

Occi

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...