Php envoyer un e-mail

Fermé
julienptr Messages postés 45 Date d'inscription mercredi 20 janvier 2010 Statut Membre Dernière intervention 19 mars 2010 - 25 janv. 2010 à 19:39
ifisch Messages postés 188 Date d'inscription mardi 26 février 2008 Statut Membre Dernière intervention 21 octobre 2015 - 27 janv. 2010 à 13:55
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

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
Et as-tu corrigé le enctype ?
0
julienptr Messages postés 45 Date d'inscription mercredi 20 janvier 2010 Statut Membre Dernière intervention 19 mars 2010
26 janv. 2010 à 17:53
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
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 45 Date d'inscription mercredi 20 janvier 2010 Statut Membre Dernière intervention 19 mars 2010
26 janv. 2010 à 19:24
désoler mais je ne comprend pas ou je doit mettre print_r($_POST) dans mon script. peut tu me montrer ?
0
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 188 Date d'inscription mardi 26 février 2008 Statut Membre Dernière intervention 21 octobre 2015 17
26 janv. 2010 à 22:07
On dirait que PHP n'est carrément pas installé ... mais on dirait seulement ^^
0
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 188 Date d'inscription mardi 26 février 2008 Statut Membre Dernière intervention 21 octobre 2015 17
26 janv. 2010 à 22:33


<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 45 Date d'inscription mercredi 20 janvier 2010 Statut Membre Dernière intervention 19 mars 2010
26 janv. 2010 à 23:18
merci beaucoup a tout l'email fonctionne parfaitement a présent
0
ifisch Messages postés 188 Date d'inscription mardi 26 février 2008 Statut Membre Dernière intervention 21 octobre 2015 17
26 janv. 2010 à 23:22
"résolu" ;) . Et : Mais de rien :)
0
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 188 Date d'inscription mardi 26 février 2008 Statut Membre Dernière intervention 21 octobre 2015 17
27 janv. 2010 à 12:44
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
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 188 Date d'inscription mardi 26 février 2008 Statut Membre Dernière intervention 21 octobre 2015 17
27 janv. 2010 à 13:55
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