Page 1 sur 1

Problème Mail() formulaire

Posté : 24 juil. 2007, 13:58
par Firexone
Bonjour à Tous !

Suite à un petit problème de code php d'envoie de formulaire j'aimerais savoir si le code php est bon car je ne recupéré que la requète &message dans mon message.

En essayant autre chose j'ai obtenut la fameuse erreur des 5 requetes de php. alors que j'en ai 15.

Je vous joint le code Php !

Code : Tout sélectionner

<?php if(isset($_GET['envoi'])) { $sujet = htmlentities($_POST['sujet']); $msg = $_POST['message']; $headers = "Content-type:text/html\nFrom:{$_POST['nom']}<{$_POST['email']}>\r\n"; $embody = "Content-type:text/html\nFrom:{$_POST['prenom']}{$_POST['adresse']}{$_POST['ville']}{$_POST['codepostal']}{$_POST['login']}{$_POST['password']}"; $votreemail = "[email protected]"; mail($votreemail,$sujet,$msg,$headers,$embody); echo ' Message envoyé '; } ?>
Je pense ne pas être bon sur ce code !

Est puis le code de mon formulaire, la normalement y a pas de soucit !

Code : Tout sélectionner

<form method="POST" action="index3.php?envoi=oui"> <table border="1" cellpadding="0" width="100%" id="table1" class="txt"> <tr><br><br> <td class="Titrebox">Votre Nom :</td> <td class="Titrebox"> <input type="text" name="nom" size="38"> </td> </tr> <tr><br><br> <td class="Titrebox">Votre Prénom :</td> <td class="Titrebox"> <input type="text" name="prenom" size="38"> </td> </tr> <tr><br><br> <td class="Titrebox">Votre Adresse :</td> <td class="Titrebox"> <input type="text" name="adresse" size="38"> </td> </tr> <tr><br><br> <td class="Titrebox">Votre Ville :</td> <td class="Titrebox"> <input type="text" name="ville" size="38"> </td> </tr> <tr><br><br> <td class="Titrebox">Votre Code Postal :</td> <td class="Titrebox"> <input type="text" name="codepostal" size="38"> </td> </tr> <tr><br><br> <td class="Titrebox">Votre Login :</td> <td class="Titrebox"> <input type="text" name="login" size="38"> </td> </tr> <tr><br><br> <td class="Titrebox">Votre mot de passe :</td> <td class="Titrebox"> <input type="password" name="password" size="38"> </td> </tr> <tr> <td class="Titrebox">Votre adresse e-mail :</td> <td class="Titrebox"> <input type="text" name="email" size="38"> </td> </tr> <tr> <td class="Titrebox">Sujet :</td> <td class="Titrebox"> <input type="text" name="sujet" size="38"> </td> </tr> <tr> <td class="Titrebox">Message :</td> <td class="Titrebox"> <textarea rows="7" name="message" cols="40"></textarea> </td> </tr> <tr> </tr> <tr> <td colspan="2"> <p align="center" class="Titrebox"> <input type="submit" value="Envoyer" name="B1"><input type="reset" value="R&eacute;initialiser" name="B1"></td> </tr> </table> <br> </form>
J'aimerais récupérer toutes les données du formulaire pour les envoyez sur mon mail !
Ou je ne suis pas bon ?

Je vous remercie, exelente journée à tous ! :)

Posté : 24 juil. 2007, 14:15
par béka
je serais toi je feais un truc comme ca :
<?php

if( isset($_POST['form']) && $_POST['form'] == 'mail')
   {
$sujet        = htmlentities($_POST['sujet']);
$msg          = $_POST['message'];
$headers      = "Content-type:text/html\nFrom:{$_POST['nom']}<{$_POST['email']}>\r\n";
$embody       = "Content-type:text/html\nFrom:{$_POST['prenom']}{$_POST['adresse']}{$_POST['ville']}{$_POST['codepostal']}{$_POST['login']}{$_POST['password']}";
$votreemail   = "[email protected]";

mail($votreemail,$sujet,$msg,$headers,$embody);

echo ' Message envoyé ';
   }
?>
et ton formulaire :

Code : Tout sélectionner

<form method="POST" action="index3.php"> <input type=hidden name="form" value="mail"> <table border="1" cellpadding="0" width="100%" id="table1" class="txt"> <tr><br><br> <td class="Titrebox">Votre Nom :</td> <td class="Titrebox"> <input type="text" name="nom" size="38"> </td> </tr> <tr><br><br> <td class="Titrebox">Votre Prénom :</td> <td class="Titrebox"> <input type="text" name="prenom" size="38"> </td> </tr> <tr><br><br> <td class="Titrebox">Votre Adresse :</td> <td class="Titrebox"> <input type="text" name="adresse" size="38"> </td> </tr> <tr><br><br> <td class="Titrebox">Votre Ville :</td> <td class="Titrebox"> <input type="text" name="ville" size="38"> </td> </tr> <tr><br><br> <td class="Titrebox">Votre Code Postal :</td> <td class="Titrebox"> <input type="text" name="codepostal" size="38"> </td> </tr> <tr><br><br> <td class="Titrebox">Votre Login :</td> <td class="Titrebox"> <input type="text" name="login" size="38"> </td> </tr> <tr><br><br> <td class="Titrebox">Votre mot de passe :</td> <td class="Titrebox"> <input type="password" name="password" size="38"> </td> </tr> <tr> <td class="Titrebox">Votre adresse e-mail :</td> <td class="Titrebox"> <input type="text" name="email" size="38"> </td> </tr> <tr> <td class="Titrebox">Sujet :</td> <td class="Titrebox"> <input type="text" name="sujet" size="38"> </td> </tr> <tr> <td class="Titrebox">Message :</td> <td class="Titrebox"> <textarea rows="7" name="message" cols="40"></textarea> </td> </tr> <tr> </tr> <tr> <td colspan="2"> <p align="center" class="Titrebox"> <input type="submit" value="Envoyer" name="B1"><input type="reset" value="R&eacute;initialiser" name="B1"></td> </tr> </table> <br> </form>

Posté : 24 juil. 2007, 15:50
par Ryle
Là où tu n'es "pas bon", c'est tout simplement que tu ne récupères et ne renvoi que la valeur du champ message dans ton mail :
$msg          = $_POST['message']; 
...
mail($votreemail,$sujet,$msg,$headers,$embody);
Si tu veux les autres valeurs également, il te faut compléter ta chaine $msg (qui correspond au corps de ton mail) avec tout ce que tu veux y voir :
$msg = "Le message : " . $_POST['message'] ."\n"; // + retour à la ligne txt brut
$msg.= "Le champ X : " . $_POST['champX'] ."<br />"; // ou retour à la ligne html 
$msg.= "Le champ Y : " . $_POST['champY']; 
...
mail($votreemail,$sujet,$msg,$headers,$embody);

Posté : 24 juil. 2007, 22:39
par Firexone
Merci à vous !

Cela fonctionne correctement !

Exelente Soirée !

:D

Posté : 25 juil. 2007, 00:17
par Ryle
Modération :
Firexone, si ta question est résolue, pense à ajouter le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.
Tu peux réaliser cette opération en cliquant sur le bouton Image en haut à gauche de ce sujet. ;)