Formulaire PHP !

Résolu/Fermé
Utilisateur anonyme - 3 sept. 2009 à 13:36
Yoan Messages postés 11795 Date d'inscription mardi 1 février 2005 Statut Modérateur Dernière intervention 10 décembre 2023 - 3 sept. 2009 à 14:11
Bonjour, encore un dernier soucis avec mon site pour le formulaire de contact !
Je ne reçoit que la zone de texte MESSAGE est pas le reste !
Zarb ? Please un peu d'aide !
Merci ! :)

<?php

$msg = "name:\t$namer\n";
$msg = "prenom:\t$prenomr\n";
$msg = "telephone:\t$telephoner\n";
$msg .= "mail:\t$mail\n";
$msg = "sujet:\t$sujetr\n";
$msg .= "message:\t$message\n\n";

$recipient = "monmail";
$subject = "Formulaire";

$mailheaders = "From: Mon site web<> \n";
$mailheaders .= "Reply-To: $CP\n\n";

mail($recipient, $subject, $msg, $mailheaders);

echo "<H1 align=center>Merci, $nom </H1>";
echo "<P align=center>";
echo "Votre formulaire à bien été envoyé !</P>";
echo "</BODY></HTML>";

?>
A voir également:

8 réponses

samixsx Messages postés 147 Date d'inscription jeudi 24 février 2005 Statut Membre Dernière intervention 3 septembre 2009 41
3 sept. 2009 à 13:42
Bonjour,

Si tu veux concentrer ton contenu en une seule variable $msg tu dois ajouter un . devant chaque = qui suit le premier, je m'expliques :

$msg = "nom";
$msg .= "prenom";
$msg .= "age";

(seul la première déclaration n'a que le signe égale, toutes les autres doivent avoir un point devant ce dernier).
0
Salut,

en regardant vite fait ton code , c'est pas terrible ton entete tu peu personaliser beaucoup plus , moi je te conseil un exemple plus precis

regarde cet exemple assez precis :
http://wiki.lws-hosting.com/...

a retenir 2 choses deja tu px verifiez si le mail est bien partie ou pas et aussi tu px precisé le type de mail dans ton cas html ! le content type .

Sinon voila un autre exemple pas mal :

https://www.vulgarisation-informatique.com/mail.php

Ce tuto est encore mieux expliqué tres tres detaillée il explique bien la diff entre mail text et mail html ..

Voila j'espere que cela va resoudre ton probleme.
0
Yoan Messages postés 11795 Date d'inscription mardi 1 février 2005 Statut Modérateur Dernière intervention 10 décembre 2023 2 330
3 sept. 2009 à 13:45
Explication pratique :
$variable = 'Bonjour ! ';
$variable = 'A bientôt ! ';
// 'Bonjour' a été écrasé, $variable contient maintenant la chaîne 'A bientôt ! '

$variable = 'Bonjour ! ';
$variable .= 'A bientôt ! '; // Ceci est le raccourci de $variable = $variable.'A bientôt ! ';
// Le point est l'opérateur de concaténation. Lorsqu'on concatène deux chaînes, on les mets simplement bout à bout.
// Ainsi $variable contient dans ce cas 'Bonjour ! A bientôt !'

Si tu veux qu'à chaque élément (prénom, tel, mail, etc ...) il se rajoute à $msg, il faut donc concaténer avec .=
Le seul signe = écrase à chaque fois le contenu précédent. Dans ton cas $msg contenait donc uniquement le sujet+message.
0
Utilisateur anonyme
3 sept. 2009 à 13:55
Merci de vos réponse !
Alors en fait samixsx !
J'ai essayé le tiens puis celui là :
Et le pb maintenat et que je reçoit le mail et le message pas les autres cases !
Space ! non ?

<?php

$msg = $msg."nom:\t$nomr\n";
$msg = $msg."prenom:\t$prenomr\n";
$msg = $msg."telephone:\t$telephoner\n";
$msg = $msg."mail:\t$mail\n";
$msg = $msg."sujet:\t$sujetr\n";
$msg = $msg."message:\t$message\n\n";

$recipient = "maxime@minilabe.com";
$subject = "Formulaire";

$mailheaders = "From: Mon site web<> \n";
$mailheaders .= "Reply-To: $CP\n\n";

mail($recipient, $subject, $msg, $mailheaders);

echo "<H1 align=center>Merci, $nom </H1>";
echo "<P align=center>";
echo "Votre formulaire à bien été envoyé !</P>";
echo "</BODY></HTML>";

?>
0

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

Posez votre question
samixsx Messages postés 147 Date d'inscription jeudi 24 février 2005 Statut Membre Dernière intervention 3 septembre 2009 41
3 sept. 2009 à 13:59
Tu n'as pas compris mon explications ni celle de Yoan, pour concatener tes variable (par conséquent avoir le contenu global dans $msg) tu dois utiliser un point "." devant les signes "=" à chaque ligne, ex:

$msg = "prout";
// msg vaut prout
$msg .= "vache";
// msg vaut proutvache

C'est comme ça que tu dois procéder :)
0
Utilisateur anonyme
3 sept. 2009 à 14:00
et pareil si je fais:

<?php

$msg = "nom:\t$nomr\n";
$msg .= "prenom:\t$prenomr\n";
$msg .= "telephone:\t$telephoner\n";
$msg .= "mail:\t$mail\n";
$msg .= "sujet:\t$sujetr\n";
$msg .= "message:\t$message\n\n";

$recipient = "maxime@minilabe.com";
$subject = "Formulaire";

$mailheaders = "From: Mon site web<> \n";
$mailheaders .= "Reply-To: $CP\n\n";

mail($recipient, $subject, $msg, $mailheaders);

echo "<H1 align=center>Merci, $nom </H1>";
echo "<P align=center>";
echo "Votre formulaire à bien été envoyé !</P>";
echo "</BODY></HTML>";

?>


Il m'envoie le mail + message !!!!
0
samixsx Messages postés 147 Date d'inscription jeudi 24 février 2005 Statut Membre Dernière intervention 3 septembre 2009 41
3 sept. 2009 à 14:04
Si avec ce code tu ne reçois que le message, c'est que tes variable nom, prenom etc... ne valent rien :)
0
Yoan Messages postés 11795 Date d'inscription mardi 1 février 2005 Statut Modérateur Dernière intervention 10 décembre 2023 2 330
3 sept. 2009 à 14:11
Cela dit je n'y avais pas fait attention mais effectivement si la première ligne du script est le <?php qu'on voit là alors les variables "ne valent rien".
Si le serveur n'a pas de gouffre de sécurité en théorie tu récupères les variables dans les tableaux superglobaux. Ainsi au lieu de $message ce sera $_POST['message'] (ou GET selon la méthode indiquée dans le formulaire, mais de préférence POST).
0
Utilisateur anonyme
3 sept. 2009 à 14:08
Je suis trop !!!
en fait il y a de r en plus genre >>> nomr

$msg = "nom:\t$nomr\n";
$msg .= "prenom:\t$prenomr\n";

$msg .= "telephone:\t$telephoner\n";
$msg .= "mail:\t$mail\n";
$msg .= "sujet:\t$sujetr\n";
$msg .= "message:\t$message\n\n";

La ça marche !!!!
Merci pour le cours !!!
Maintenant je vais passer à la personnalisation des remerciements !
0