Pb, Formulaire / Mail

cs_MaSenCo Messages postés 10 Date d'inscription dimanche 8 février 2004 Statut Membre Dernière intervention 1 mars 2010 - 17 déc. 2005 à 13:33
hassxhassx Messages postés 3 Date d'inscription mardi 10 janvier 2006 Statut Membre Dernière intervention 28 février 2010 - 1 mars 2010 à 21:10
Bonjour,
Je viens de mettre un formulaire / mail sur mon site, et j'ai un petit problème avec la fonction mail, c'est à dire que je reçois bien le mail, mais il est vide toute les informations rentrée dedans sont abscentes... Si vous pourriez m'éclairer sur le problème sachant que je suis heberger sous Free.

--------------------------------------------
Partie Formulaire :
--------------------------------------------
<form action="send.php" method="post" enctype="text/plain">
<td width="299"></td>
</tr>
<tr>
<td>
Pr&eacute;nom :
</td>
<td></td>
</tr>
<tr>
<td>
Speudo :
</td>
<td>
</td>
</tr>
<tr>
<td>
Email :
</td>
<td>
</td>
</tr>
<tr>
<td>
Mot de passe :
</td>
<td>
</td>
</tr>
<tr>
<td>
Ville :
</td>
<td>
</td>
</tr>
<tr>
<td>
Date de naissance :
</td>
<td>
jj/mm/aaa
</td>
</tr>
<tr>
<td>
Sexe :
</td>
<td>
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>



</td>
</tr>
</table>

</form>

-----------------------------------------------------
Partie Php
-----------------------------------------------------

<?php


$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$email = $_POST['email'];
$speudo = $_POST['speudo'];
$motdepasse = $_POST['motdepasse'];
$ville = $_POST['ville'];
$date = $_POST['date'];
$sexe = $_POST['sexe'];


$message = "Nom: $nom\n";
$message = "Prenom: $prenom\n";
$message = "Email: $email\n";
$message = "Speudo: $speudo\n";
$message = "Mot de passe : $motdepasse\n";
$message = "Ville: $ville\n";
$message = "Date de naissance: $date\n";
$message = "Sexe: $sexe\n";


$recipient = "[mailto:adresse@mail.com adresse@mail.com]";
$subject = "Formulaire contact";



$mailheaders = "From:".$email." \n";
$mailheaders .= "Reply-To: $email\n\n";



echo "<HTML><HEAD>";
echo "<TITLE>Formulaire envoyer!</TITLE></HEAD>";
echo "Merci,
";
echo "";
echo "Votre message a bien été envoyé.

";
echo "</HTML>";



?>

------------------

Merci

16 réponses

cs_MaSenCo Messages postés 10 Date d'inscription dimanche 8 février 2004 Statut Membre Dernière intervention 1 mars 2010
17 déc. 2005 à 19:51
<form action="send.php" method="post" enctype="text/plain">
<td width="299"></td>
</tr>
<tr>
<td>
Pr&eacute;nom :
</td>
<td></td>
</tr>
<tr>
<td>
Speudo :
</td>
<td>
</td>
</tr>
<tr>
<td>
Email :
</td>
<td>
</td>
</tr>
<tr>
<td>
Mot de passe :
</td>
<td>
</td>
</tr>
<tr>
<td>
Ville :
</td>
<td>
</td>
</tr>
<tr>
<td>
Date de naissance :
</td>
<td>
jj/mm/aaa
</td>
</tr>
<tr>
<td>
Sexe :
</td>
<td>
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>



</td>
</tr>
</table>

</form>
0
WhiteDwarf Messages postés 510 Date d'inscription samedi 29 décembre 2001 Statut Membre Dernière intervention 23 mai 2008
17 déc. 2005 à 22:29
Salut,
bon, déja la fonction mail n'est pas présente dans la partie PHP, mais si tu recois le mail, je suppose que dans ton script elle y est...
Ce que j'ai remarqué, c'est la façon dont tu utilise les variables qui est bizzard :

$message = "Nom: $nom\n";
$message = "Prenom: $prenom\n";
$message = "Email: $email\n";
$message = "Speudo: $speudo\n";
$message = "Mot de passe : $motdepasse\n";
$message = "Ville: $ville\n";
$message = "Date de naissance: $date\n";
$message = "Sexe: $sexe\n";

Or si tu procède de cette façon, il y a un problème car au final $message sera égal à $sexe, mais pas au reste puisque tu replace à chaque fois le contenu de la variable... tu devrai faire comme ca je pense :

$message = "Nom: $nom\n";
$message .= "Prenom: $prenom\n";
$message .= "Email: $email\n";
$message .= "Speudo: $speudo\n";
$message .= "Mot de passe : $motdepasse\n";
$message .= "Ville: $ville\n";
$message .= "Date de naissance: $date\n";
$message .= "Sexe: $sexe\n";

Et dernière petite chose, je ne sais pas si c'est encore d'actualité mais il y a encore un an ou un peu plus, les serveurs de free ne permettaient pas l'envoie de mail... à voir...

Bonne chance et bonne dev @+


----------------------
La lumière étant plus rapide que le son, un homme peu paraître brillant avant qu'il se mette a parler
-----------------
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
18 déc. 2005 à 09:55
Salut,

ouais envoi nous le code en entier...



ensuite, remplace les " par des ' : tu les utilises de la même façon, sauf que les ' sont plus rapides...



ensuite, plutot que de faire plein de lignes pour ton $message, tu peux en faire plusieurs, mais en une seule instruction :



$message='

sujet : '.$sujet.'



message : '.$message.'







';

In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
0
cs_MaSenCo Messages postés 10 Date d'inscription dimanche 8 février 2004 Statut Membre Dernière intervention 1 mars 2010
19 déc. 2005 à 14:57
----
Partie Formulaire
----


<form action="send.php" method="post" enctype="text/plain">
<td width="299"></td>
</tr>
<tr>
<td>
Prénom :
</td>
<td></td>
</tr>
<tr>
<td>
Speudo :
</td>
<td>
</td>
</tr>
<tr>
<td>
Email :
</td>
<td>
</td>
</tr>
<tr>
<td>
Mot de passe :
</td>
<td>
</td>
</tr>
<tr>
<td>
Ville :
</td>
<td>
</td>
</tr>
<tr>
<td>
Date de naissance :
</td>
<td>
jj/mm/aaa
</td>
</tr>
<tr>
<td>
Sexe :
</td>
<td>
</td>
</tr>
<tr>
<td> </td>
<td>



</td>
</tr>
</table>

</form>


---
Partie PHP
---


<?php


$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$email = $_POST['email'];
$speudo = $_POST['speudo'];
$motdepasse = $_POST['motdepasse'];
$ville = $_POST['ville'];
$date = $_POST['date'];
$sexe = $_POST['sexe'];


$message =
'Nom: .$nom.'
'Prenom: .$prenom.'
'Email: .$email.'
'Speudo: .$speudo.'
'Mot de passe : .$motdepasse.'
'Ville: .$ville.'
'Date de naissance: .$date.'
'Sexe: .$sexe.'


message :'.$message.'

',


$recipient = [mailto:'adresse@mail.com' 'adresse@mail.com'];
$subject = 'Formulaire contact';



$mailheaders = 'From:'.$email.' \n';
$mailheaders .= 'Reply-To: $email\n\n';


mail($recipient, $subject, $message);


echo "<HTML><HEAD>";
echo "<TITLE>Formulaire envoyer!</TITLE></HEAD>";
echo "Merci,
";
echo "";
echo "Votre message a bien été envoyé.

";
echo "</HTML>";



?>

----
End
----

Voilà le code 'entier' comme il était au départ avec les diverses modifications que chacun d'entre vous m'a expliqué, c'est correct ou non ?

Donc je l'ai transferé sur le Ftp, et j'ai cette erreur là à l'envoie du formulaire :

Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in /var/www/sdc/d/7/masenco/FormailPlus/send.php on line 23

Line 23 : 'Mot de passe : .$motdepasse.'

Merci.
0

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

Posez votre question
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
19 déc. 2005 à 16:34
Salut,

déja, remplace :



$mailheaders .= 'Reply-To: $email\n\n';
mail($recipient, $subject, $message);



echo "<HTML><HEAD>";
echo "<TITLE>Formulaire envoyer!</TITLE></HEAD>";
echo "Merci,
";
echo "";
echo "Votre message a bien été envoyé.

";
echo "</HTML>";




par :



$mailheaders .= 'Reply-To: '.$email.'



';

mail($recipient, $subject, $message);

echo '<HTML><HEAD>

<TITLE>Formulaire envoyé!</TITLE></HEAD>

Merci,




Votre message a bien été envoyé.


</HTML>';


ça fera un code plus propre et déja plus simple à lire... ensuite,
je te demandais de cibler le problème... pas de reposter le code en
séparant les parties... la partie html, on s'en tape... sauf un
formulaire qui peut être utile, mais t'étais pas obligé de tout
remettre... ça rend la lecture difficile...

In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
0
cs_MaSenCo Messages postés 10 Date d'inscription dimanche 8 février 2004 Statut Membre Dernière intervention 1 mars 2010
19 déc. 2005 à 21:02
Ok, Ok, Bon le problème c'est la ligne 23 que j'ai mis en Gras de couleur Rouge, voilà, peut-être plus clair maintenant :S

<?php


$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$email = $_POST['email'];
$speudo = $_POST['speudo'];
$motdepasse = $_POST['motdepasse'];
$ville = $_POST['ville'];
$date = $_POST['date'];
$sexe = $_POST['sexe'];


$message =
'Nom: .$nom.'
'Prenom: .$prenom.'
'Email: .$email.'
'Speudo: .$speudo.'
'Motdepasse: .$motdepasse.'
'Ville: .$ville.'
'Date de naissance: .$date.'
'Sexe: .$sexe.'


message :'.$message.'


';


$recipient = [mailto:'adresse@mail.com' 'adresse@mail.com'];
$subject = 'Formulaire contact';



$mailheaders .= 'Reply-To: '.$email.'


';
mail($recipient, $subject, $message);
echo '<HTML><HEAD>
<TITLE>Formulaire envoyé!</TITLE></HEAD>
Merci,

Votre message a bien été envoyé.

</HTML>';



?>

----
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
19 déc. 2005 à 21:10
Salut,


$message =
'Nom: '.$nom.'
'Prenom: '.$prenom.'
'Email: '.$email.'
'Speudo: '.$speudo.'
'Motdepasse: '.$motdepasse.'
'Ville: '.$ville.'
'Date de naissance: '.$date.'
'Sexe: '.$sexe.'



message :'.$message.'



';



regardes tes quotes...



je crois qu'ici, ta variable $message n'est pas remplie, t'as aussi du oublier avant un truc genre :



$message =$_POST['message'];

In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
0
cs_MaSenCo Messages postés 10 Date d'inscription dimanche 8 février 2004 Statut Membre Dernière intervention 1 mars 2010
20 déc. 2005 à 12:23
Voilà le dernier code que j'ai mis en ligne, donc là je reçois bien le mail avec tous les champs mais petit problème que je ne comprends pas, je reçois ceux ci comme moi mail :

Nom: $nom Prenom: $prenom Email: $email Speudo: $speudo

Mot de passe : $motdepasse Ville: $ville Date de naissance: $date Sexe: $sexe








Au Lieu des informations remplis par l'internaute :X






---


Code Php


---




<?php


$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$email = $_POST['email'];
$speudo = $_POST['speudo'];
$motdepasse = $_POST['motdepasse'];
$ville = $_POST['ville'];
$date = $_POST['date'];
$sexe = $_POST['sexe'];
$message =$_POST['message'];


$message = 'Nom: $nom';
$message .= 'Prenom: $prenom';
$message . = 'Email: $email';
$message .= 'Speudo: $speudo';
$message .= 'Mot de passe : $motdepasse';
$message . = 'Ville: $ville';
$message .= 'Date de naissance: $date';
$message .= 'Sexe: $sexe';


$recipient = [mailto:'adresse@mail.com' 'adresse@mail.com'];
$subject = 'Formulaire contact';


$mailheaders .= 'Reply-To: '.$email.'


';
mail($recipient, $subject, $message);



echo '<HTML><HEAD>
<TITLE>Formulaire envoyé!</TITLE></HEAD>
Merci,


Votre message a bien été envoyé.

</HTML>';


?>
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
20 déc. 2005 à 12:35
Salut,

t'as pas lu mon dèrnier message : tes quotes sont mal positionnées !!!






$message =
'Nom: '.$nom.'
'Prenom: '.$prenom.'
'Email: '.$email.'
'Speudo: '.$speudo.'
<gras>'Motdepasse: '.$motdepasse.'</gras>
'Ville: '.$ville.'
'Date de naissance: '.$date.'
'Sexe: '.$sexe.'



message :'.$message.'



';



In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
0
cs_MaSenCo Messages postés 10 Date d'inscription dimanche 8 février 2004 Statut Membre Dernière intervention 1 mars 2010
20 déc. 2005 à 13:22
Si si j'avais lu ta derniére réponse mais en faisant ainsi j'obtiens une erreur à la line 24


Soit :


'Prenom: '.$prenom.'


pour cette erreur là :


Parse error: parse error, unexpected T_STRING in /var/www/sdc/d/7/masenco/FormailPlus/send.php on line 24

Et j'ai vu qu'en passant comme j'ai fait je n'obtiens plus ce message d'erreur, je reçois le mail mais c'est là que sa cloche..
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
20 déc. 2005 à 13:47
Salut,


oulala autant pour moi...


$message =
'Nom: '.$nom.'
Prenom: '.$prenom.'
Email: '.$email.'
Speudo: '.$speudo.'
<gras>Motdepasse: '.$motdepasse.'</gras>
Ville: '.$ville.'
Date de naissance: '.$date.'
Sexe: '.$sexe.'
message :'.$message.'
';



In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
0
cs_MaSenCo Messages postés 10 Date d'inscription dimanche 8 février 2004 Statut Membre Dernière intervention 1 mars 2010
21 déc. 2005 à 22:13
0
cs_MaSenCo Messages postés 10 Date d'inscription dimanche 8 février 2004 Statut Membre Dernière intervention 1 mars 2010
21 déc. 2005 à 22:14
Bah j'ai envie de te dire qu'aprés les maintes manipulation et la bonne volonté que j'y ai mise et de ta patience et conseil cela ne marche toujours pas :S !
0
cs_MaSenCo Messages postés 10 Date d'inscription dimanche 8 février 2004 Statut Membre Dernière intervention 1 mars 2010
22 déc. 2005 à 12:20
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
22 déc. 2005 à 21:22
Salut,

quel est le message d'erreur ???

In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
0
hassxhassx Messages postés 3 Date d'inscription mardi 10 janvier 2006 Statut Membre Dernière intervention 28 février 2010
1 mars 2010 à 21:10
Formulaire tu dois le corigie comme ça:

<form action="send.php" method="post" enctype="text/plain">
<td width="299"></td>
</tr>
<tr>
<td>
Prénom :
</td>
<td></td>
</tr>
<tr>
<td>
pseudo :
</td>
<td>
</td>
</tr>
<tr>
<td>
Email :
</td>
<td>
</td>
</tr>
<tr>
<td>
Mot de passe :
</td>
<td>
</td>
</tr>
<tr>
<td>
Ville :
</td>
<td>
</td>
</tr>
<tr>
<td>
Date de naissance :
</td>
<td>">

</td>
</tr>
<tr>
<td>
Sexe :
</td>
<td>
</td>
</tr>
<tr>
<td> </td>
<td>



</td>
</tr>
</table>




</form>

-----------------------------------------------------
Partie Php
-----------------------------------------------------

<?php

$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$email = $_POST['email'];
$speudo = $_POST['pseudo'];
$motdepasse = $_POST['passe'];
$ville = $_POST['ville'];
$date = $_POST['date'];
$sexe = $_POST['sexe'];

$message = "Nom: \t$nom\n";
$message = "Prenom: \t$prenom\n";
$message = "Email: \t$email\n";
$message = "Speudo: \t$pseudo\n";
$message = "Mot de passe : \t$passe\n";
$message = "Ville: \t$ville\n";
$message = "Date de naissance: \t$date\n";
$message = "Sexe: \t$sexe\n";

$recipient = "adresse@mail.com";
$subject = "Formulaire contact";


$mailheaders = "From:".$email." \n";
$mailheaders .= "Reply-To: $email\n\n";

mail( $recipient, $subject, $message, $mailheaders);
echo "<HTML><HEAD>";
echo "<TITLE>Formulaire envoyer!</TITLE></HEAD>";
echo "Merci,
";
echo "";
echo "Votre message a bien été envoyé.

";
echo "</HTML>";


?>



boyss
0
Rejoignez-nous