Php envoyer un e-mail

julienptr Messages postés 48 Statut Membre -  
ifisch Messages postés 192 Statut Membre -
Bonjour, j'ai ecrit ce code php pour que l'utilisateur puisse ecrir un e-mail a partir d'un formulaire mais je recoi e-mail sans les variables que j'ai crée quel qu'un peut t-il m'aider ?


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<?php
$Nom1 = $_POST['nom'];
$prenom2 = $_POST['prenom'];
$text = $_POST['text'];
$EMail = $_POST['EMail'];


$adresse = "test@gmail.com";
$sujet = "test";
$contenu_msg = " nom : $Nom1, prenom : $prenom2, e-mail client: $EMail, texte: $text" ;

$adresse_exp = "From: entreprise@test.fr";


mail($adresse, $sujet, $nom, $adresse_exp);
echo mail();
?>
A voir également:

31 réponses

le père
 
Il faut faire un echo du print_r()
Non, c'est inutile.

Quand tu cliques sur le bouton du formulaire, as-tu mis quelque chose dans les nom, prénom, etc... ? Ça a peut-être l'air bête comme question, mais sait-on jamais....
0
le père
 
Et as-tu corrigé le enctype ?
0
julienptr Messages postés 48 Statut Membre
 
oui j'ai corriger mais rien ne change ....
oui j'ai remplis les champs du formulaire ....
normalement tous devrais marcher. je pense aussi qu'il y a un problème lorsque je déclare mais variables mais je ne trouve pas le quel.
0
le père
 
je pense qu'il y a un problème lorsque je déclare mais variables mais je ne trouve pas le quel.
si print_r($_POST) n'affiche rien, il est normal que les variables $_POST['Nom1']; etc... ne contiennent rien.
De plus en plus bizarre...
Le script du formulaire que tu donnes message 15 est-il complet ou manque-t-il des morceaux ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
julienptr Messages postés 48 Statut Membre
 
désoler mais je ne comprend pas ou je doit mettre print_r($_POST) dans mon script. peut tu me montrer ?
0
le père
 
Il est très bien là où tu avais indiqué dans ton message 24, juste après le <?php
Puisque tout ce qu'on fait ne sert à rien, peux-tu ajouter un autre affichage :
<?php
echo "coucou";
print_r ($_POST);
0
ifisch Messages postés 192 Statut Membre 17
 
On dirait que PHP n'est carrément pas installé ... mais on dirait seulement ^^
0
le père
 
si, PHP est installé. julienptr reçoit bien un message, donc la fonction mail marche. Il ne manque que les données
0
ifisch Messages postés 192 Statut Membre 17
 


<fieldset>
<form action="mail2.php" method="post">
<p>
<label for="nom">Nom : </label>
<input type="text" name="Nom1" id="nom" accesskey="n" />
</p>
<p>
<label for="prenom">Prénom :</label>
<input type="text" name="prenom" id="prenom" accesskey="p" />
</p>
<p>
<label for="e-mail">E-mail</label>
<input type="text" name="EMail" id="e-mail" accesskey="m" />

</p>
<p>
<textarea name="text" cols="60" rows="15" id="text" accesskey="m"></textarea>
</p>

<p>
<input type="submit" name="Envoyer" id="envoyer" value="Envoyer" />
</p>
</form>
</fieldset>




<?php

$M1 = $_POST['Nom1'];
$prenom2 = $_POST['prenom'];
$text = $_POST['text'];
$EMail = $_POST['EMail'];

echo $M1." et ".$prenom2." et ". $text ." et ".$EMail ; // teste si les variables sont bien récupéré


$adresse = " test@gmail.com";
$sujet = "test";
$contenu_msg = "Nom : ".$M1."\n";
$contenu_msg .= "Prénom : ".$prenom2."\n";
$contenu_msg .= "E-mail client : ".$EMail."\n";
$contenu_msg .= "Texte : ".$text;

?>


J'ai remit aux normes tes label avec tes id au passage ...

Tu peux nous dires si les tests fonctionnent ? (si un message apparait dans la page qui envoie le le mail)
0
julienptr Messages postés 48 Statut Membre
 
merci beaucoup a tout l'email fonctionne parfaitement a présent
0
ifisch Messages postés 192 Statut Membre 17
 
"résolu" ;) . Et : Mais de rien :)
0
le père
 
ifisch, as-tu une idée du point qui justifie le changement de comportement ? l'enctype ? l'id ? Histoire que je tourne moins en rond la prochaine fois.
Visiblement, le browser de MAC OS est plus exigeant (ou plus facilement perturbé...) que mon FF car chez moi le formulaire envoyait bien les données .
0
ifisch Messages postés 192 Statut Membre 17
 
J'ai modifié les erreurs dans le formulaire :

<label for="nom">Nom : </label>
<input type="text" name="Nom1" id="nom" accesskey="n" />


Le "for" du label doit renvoyer a l'"id" de l'input .. ensuite dans le code php :
$M1 = $_POST['Nom1'];

et 

$contenu_msg = "Nom : ".$M1."\n";


dans contenu_msg tu ne récuperais non pas la valeur $M1 mais tu avait mit : Nom1 ce qui devait bloquer tes variables ... De plus ! Je ne sais pas si ton script fermais la balise php mais je ne voyait pas de "?>" a la fin .

Voila ^^
0
le père
 
Je sais bien que tu avais modifié l'id, tu l'avais dit et moi aussi. Quant à l'erreur de variable $M1 /$Nom1, je l'avais signalée à julienptr depuis longtemps et ce n'est sûrement pas elle qui empêchait de voir le prénom ni le texte ... Le problème est qu'il ne récupérait rien du tout dans $_POST.
Ma question (si c'est bien à moi que tu répondais...) n'était pas : "qu'as-tu changé ?" mais "sais-tu ce qui est déterminant dans ce que tu as changé ?". Car, au risque de me répéter, malgré les erreurs d'enctype et d'id, ça marchait très bien chez moi. Les navigateurs sont en général très, très tolérants (et heureusement quand on voit comment les normes ne sont pas respectées...)
0
ifisch Messages postés 192 Statut Membre 17
 
Ben non je ne sais pas vraiment ... peut-etre .. en fait si surement, ca devait l'enctype qui comme son nom définit l'encodage, ton serveur devait bien encoder ou alors agir en mettant un autre encodage par défaut alors que ton serveur distant devait simplement ne pas réussir a encoder et donc : blanc . Je suppose ..
0