Pb Mail() et php [Résolu]

Signaler
Messages postés
20
Date d'inscription
jeudi 1 avril 2010
Statut
Membre
Dernière intervention
28 juillet 2010
-
Messages postés
20
Date d'inscription
jeudi 1 avril 2010
Statut
Membre
Dernière intervention
28 juillet 2010
-
Bonjour,

J'ai un petit soucis, j'ai fait un formulaire que j'essaye d'envoyer via la fonction mail(...), je met le source ci-dessous :
Le pb est que je ne récupère pas les infos saisies par l'utilisateur dans le formulaire dans mon code php (enfin, les saisies n'apparaissent pas dans le mail que je recois ..)
(PS je suis hébergé chez 1&1)

Merci d'avance pour votre aide.

[b]Fichier PHP :
/b <?php

// formulaire envoyé, on récupère tous les champs.
$Nom = (isset($_POST['Renseignements_Nom'])) ? Rec($_POST['Renseignements_Nom']) : '';
$Prenom = (isset($_POST['Renseignements_Prenom'])) ? Rec($_POST['Renseignements_Prenom']) : '';

$msg = "Nom :\t$Nom\n";
$msg .= "Prénom :\t$Prenom\n";

$recipient = "contact@gmail.com";
$subject = "Renseignements";

mail($recipient, $subject, $msg, "From: $Renseignements_Email");

echo "<HTML><HEAD>";
echo "<TITLE>Formulaire envoyer!</TITLE></HEAD>";
echo "Merci, $Renseignements_Nom
";
echo "";
echo "Votre formulaire à bien été envoyé !

";
echo "</HTML>";
?>



[b]Fichier Html :
/b
Demande de Renseignements


<form method="post" action="Data/Sendmail.php" subject="Renseignements" enctype="text/plain"">
Nom :,
,

----

Prénom :,






<center>


</center>
</form>

8 réponses

Messages postés
3706
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
Oups, au temps pour moi, je m'étais arrêté à cette fonction Rec() sans regarder plus loin

<form method="post" action="Data/Sendmail.php" subject="Renseignements" enctype="text/plain"">
=>
<form method="post" action="Data/Sendmail.php">

Il y a pas mal d'autres choses qui ne vont pas dans ton code (HTML invalide, manque de tests sur les données reçues du formulaire, ...)
Malgré le fait que ce soit "urgent" je pense que tu devrais prendre le temps nécessaire à l'apprentissage de ces bases (doc, tutos, ...), tu y gagnerai beaucoup en peu de temps


Cordialement,

Kohntark -
Messages postés
3706
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
Salut,

Que fait la fonction Rec ?
As tu testé son retour à l'aide d'un simple echo ?


Cordialement,


Kohntark -
Messages postés
20
Date d'inscription
jeudi 1 avril 2010
Statut
Membre
Dernière intervention
28 juillet 2010

Bonjour,

Merci de m'aider.

Par contre je suis débutant en PHP (je maitrise d'autres langage, mais pas celui ci ...) donc je ne comprend pas ce que tu me demandes ...

En fait, dans ma logique :
- Dans le formulaire, on indique son nom et donc à la sortie du fichier html : $Renseignements_Nom = MONNOM
- Dans le fichier php, je récupère la valeur MONNOM dans la variable $nom
- Je la met dans msg avec "nom :" et la balance via mail( ...)

Résultat : Je reçois un mail avec juste "nom :" et pas "nom : MONNOM"

Maintenant, je veux bine faire des tests ... je suis à tes ordres ...

Merci
Thais
Messages postés
3706
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
Que fait la fonction Rec ?


Je parle de cette fonction pour laquelle nous ne connaissons pas le code :

$Nom = (isset($_POST['Renseignements_Nom'])) ? Rec($_POST['Renseignements_Nom']) : '';
$Prenom = (isset($_POST['Renseignements_Prenom'])) ? Rec($_POST['Renseignements_Prenom']) : '';

Peux tu fournir le code ?

Cordialement,

Kohntark -
Messages postés
20
Date d'inscription
jeudi 1 avril 2010
Statut
Membre
Dernière intervention
28 juillet 2010

Euhhhhh non ....

En fait, j'ai commencé à utiliser le code suivant pour récupérer les infos dans mon fichier php :

$msg = "Nom :\t$Renseignements_Nom\n";
$msg .= "Prénom :\t$Renseignements_Prenom\n";

Et ensuite balancer $msg dans la fonction mail.

Mais comme cela ne marchait pas, j'ai regardé sur le net et j'ai trouvé avec la fonction Rec et j'ai testé, mais ca ne marche pas non plus.

Pour info, j'ai fait le test que tu m'indiquais, j'ai ajouté la ligne suivante au début de mon fichier php :
echo "Merci --- $Renseignements_Nom
";
Résultat : affichage de "Merci --- " sans la valeur de la variable $Renseignements_Nom
Messages postés
3706
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
J'ai bien peur de ne pas te suivre là ...

j'ai trouvé avec la fonction Rec et j'ai testé, mais ca ne marche pas non plus.

Puisque cette fonction Rec n'est pas une fonction native de PHP elle doit bien être définie quelque part, non ??

Bon, commence par mettre ces lignes tout en haut de ton fichier php et dis nous ce que cela affiche :
ini_set('display_errors', 1);
error_reporting(-1);



$msg = "Nom :\t$Renseignements_Nom\n";
$msg .= "Prénom :\t$Renseignements_Prenom\n";

Non
=>
$msg = "Nom : $_POST['Renseignements_Nom']";

(même chose pour les autres variables reçues par la méthode POST (cf http://www.php.net/manual/fr/language.variables.external.php)
Par ailleurs $Renseignements_Email ne semble pas être définie.


Cordialement,

Kohntark -
Messages postés
20
Date d'inscription
jeudi 1 avril 2010
Statut
Membre
Dernière intervention
28 juillet 2010

Pour le REC, on va oublier, j'avais piqué ce truc sur le net ...

Donc pour les tests (le fichier html n'a pas changé) :

[b]TEST 1 :
/bRésultat:
Renseignements_Nom:Renseignements_Prenom:
Code :
<?php
ini_set('display_errors', 1);
error_reporting(-1);
echo "Renseignements_Nom:";
echo "Renseignements_Prenom:";
?>

[b]TEST 2 :
/bRésultat:
Notice: Undefined index: Renseignements_Nom in /homepages/3/d333422515/htdocs/Data/Sendmail.php on line 11
Renseignements_Nom:Renseignements_Prenom:
Code :
<?php
ini_set('display_errors', 1);
error_reporting(-1);
$msg = $_POST['Renseignements_Nom']; ------> Ligne 11
echo "Renseignements_Nom:";
echo $msg;
echo "Renseignements_Prenom:";
?>
Messages postés
20
Date d'inscription
jeudi 1 avril 2010
Statut
Membre
Dernière intervention
28 juillet 2010

Super, Merci beaucoup pour ton aide.