Formulaire PHP !

Résolu
Utilisateur anonyme -  
Yoan Messages postés 11905 Statut Modérateur -
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>";

?>
Configuration: Windows XP
Safari 530.5

8 réponses

  1. samixsx Messages postés 148 Statut Membre 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
  2. Hervé
     
    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
  3. Yoan Messages postés 11905 Statut Modérateur 2 356
     
    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
  4. Utilisateur anonyme
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. samixsx Messages postés 148 Statut Membre 42
     
    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
  7. Utilisateur anonyme
     
    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
  8. samixsx Messages postés 148 Statut Membre 42
     
    Si avec ce code tu ne reçois que le message, c'est que tes variable nom, prenom etc... ne valent rien :)
    0
    1. Yoan Messages postés 11905 Statut Modérateur 2 356
       
      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
  9. Utilisateur anonyme
     
    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