Aller au contenu

Code d'envoi de formulaire


Sujets conseillés

Posté (modifié)

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 :)
Posté (modifié)

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
Posté

Il faut des lignes du genre

$societe = $_REQUEST['societe'];
$adresse = $_REQUEST['adresse'];
...

avant le code que tu nous indiques.

Jean-Luc

Posté

Merci Occi et Jeanluc,

J'ai fait les modifs préconisées mais les résultats restent identiques !!!

Je pense que je fais encore une erreur quelque part.

Je continue de chercher.

Merci quand même.

Posté

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

Posté

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.

Posté

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.

Posté

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

Posté

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.

Posté

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

Veuillez vous connecter pour commenter

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



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