Formulaire mail

[Résolu]
Signaler
Messages postés
10
Date d'inscription
samedi 29 décembre 2007
Statut
Membre
Dernière intervention
11 avril 2009
-
Messages postés
10
Date d'inscription
samedi 29 décembre 2007
Statut
Membre
Dernière intervention
11 avril 2009
-
Bonjour à tous !
Merci d'avoir cliqué sur mon topic, car je suis dans la mouise xD. Mon problème vient de ce formulaire mail que j'ai récupéré sur le net. Voici le code :

<?php

if($_POST){

            //Récupération des données du formulaire----------------------------

            $cive = $_POST["cive"];
           
            $prenom = $_POST["prenom"];

            $nom = $_POST["nom"];

            $email = $_POST["email"];

            $tel = $_POST["tel"];

            $message = $_POST["message"];

            $subject = $_POST["subject"];

            //------------------------------------------------------------------

           

            //Gestion des erreurs de saisie-------------------------------------

            $erreurs = array();
           
            if( empty($cive)) $erreurs = "La case Civilite n'est pas correctement remplie.";

            if( empty($prenom)) $erreurs = "il manque votre prénom";

            if( empty($nom)) $erreurs = "il manque votre nom";

            if( empty($email)) $erreurs = "il manque votre email";

            if( empty($tel)) $erreurs = "il manque votre téléphone";

            if( empty($message)) $erreurs = "il manque votre message";

            //------------------------------------------------------------------

           

            if(empty($erreurs)) {

                        $from = $email;

                        $reply = $from;

                        $to = "larry.73@hotmail.fr"; //Mettez l'email de destination ici

                       

                        //Mise en forme du contenu au format HTML-----------------------
                       
                        $contenu .= "
Civilite: ".$cive;
                       
                        $contenu = "message de : ".$prenom." ".$nom;
                       
                        $contenu .= "
Tel: ".$tel;

                        $contenu .=      "
Message:
";

                        $contenu .= $message;

                        //--------------------------------------------------------------

                       

                        //Entêtes de formatage de l'email en mode HTML------------------

                        $headers = 'MIME-Version: 1.0' . "\n";

                        $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\n";

                        $headers .= 'From: '.$from."\n";

                        $reply = $headers."Reply-to: ".$reply."\n";

                        //---------------------------------------------------------------

                       

                        //Déclenchement de l'email et reroutage vers une autre page-----

                        $resultat = mail($to, $subject, $contenu, $reply);

                       

                        if($resultat) {

                                   echo "email envoyé";

                        } else {

                                   echo "Echec dans l'envoi de l'email";

                        }

                       

            } else {
   print("");
   print($erreurs);
   print("

");
            }

 

}

 

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title>Envoi d'email</title>

</head>

 

<form action="<?php print $_SERVER["PHP_SELF"]; ?>" method="post" enctype="multipart/form-data" name="form1" id="form1">
ASSOCIATION DES ANCIENS ELEVES DE SAINT-JOSEPH / SAINT-MARC

FICHE D'ACTUALISATION 2007

      ----

       

      Civilité : (Monsieur/Madame/Mademoiselle),

      " size="50" maxlength="100" />,

   
   
   
   
   
    ----

       

      Pr&eacute;nom :,

      " size="50" maxlength="100" />,

   

    ----

      Nom :,

      " size="50" maxlength="100" />,

   

    ----

      T&eacute;l&eacute;phone :,

      " size="50" maxlength="50" />,

   

    ----

      Votre email  :,

      " size="50" maxlength="100" />,

   

    ----

      Sujet du message :,

      " size="50" maxlength="100" />,

   

    ----

      Texte du message  :,

      <textarea name="message" cols="38" rows="10" id="message"><?php print $message; ?></textarea>,

   

    ----

                   ,

   

 

</form>

</html>

Il est plus lisible ici : pastebin.fr/1408.

A l'origine, il n'y a pas la variable "cive". C'est la seule que j'ai rajouté. Son but est de faire préciser à l'internaute si il est : Monsieur/Madame/Mademoiselle. Le problème ne concerne pas l'envoi du mail : le mail part bien. Mais quand je le reçois, tout les champ sont présent, mais pas "cive". C'est comme si il n'existait pas ! En clair, seul les champs d'origine sont présents dans l'email, avec leur contenu (ce qu'a tapé l'internaute), mais aucune ligne concernant civilité. Pourquoi ??? Car une fois que j'aurai compris comment rajouter un champ (enfin, l'inclure dans l'email reçu par moi après visite des internautes), je pourrais en rajouter des dizaines. Je vous remercie tous beaucoup pour vos futures réponses (si il y en a, et merci quand même si il n'y en a pas xDD). Bonne fin d'après midi à tous !!

8 réponses

Messages postés
59
Date d'inscription
samedi 14 avril 2007
Statut
Membre
Dernière intervention
2 avril 2010

C'est parce qu'il te manque le . avant le signe = !!!

$contenu .="
Age:".$age;

En fait, si tu regarde bien, ton 1er $contenu ne prend que le signe = et les autres prennent .= ...

Voilà d'où vient sûrement ton problème !!!!
Messages postés
59
Date d'inscription
samedi 14 avril 2007
Statut
Membre
Dernière intervention
2 avril 2010

Je pense que ton erreur vient de là :

$contenu .= "
Civilite: ".$cive;
                       
                        $contenu = "message de : ".$prenom." ".$nom;

en fait, tu devrais mettre :

$contenu = "Civilite: ".$cive;
                       
$contenu .= "
message de : ".$prenom." ".$nom;
Messages postés
10
Date d'inscription
samedi 29 décembre 2007
Statut
Membre
Dernière intervention
11 avril 2009

Bonsoir Nanti ! Merci de ta réponse ! D'un coté, ta solution fonctionne. En effet, maintenant le champ Civilité est bien pris en compte dans l'email. Mais lorsque je rajoute un autre champ, comme l'âge :

                        $contenu = "Civilite: ".$cive;
                       
                        $contenu = "
Age: ".$age;
                       
                        $contenu .= "
message de : ".$prenom." ".$nom;
                       
                        $contenu .= "
Tel: ".$tel;

                        $contenu .=      "
Message:
";

                        $contenu .= $message;
(j'ai bien ajouté la variable $age aux autres niveaux du php, comme du html ;) )

Et bien le champ âge remplace le champ civilité dans l'email. En clair, je n'arrive pas à avoir les deux en même temps.
Messages postés
10
Date d'inscription
samedi 29 décembre 2007
Statut
Membre
Dernière intervention
11 avril 2009

Merci beaucoup ! Je teste ça de suite !! ;)
Messages postés
10
Date d'inscription
samedi 29 décembre 2007
Statut
Membre
Dernière intervention
11 avril 2009

Ca fonctionne !!!!! Merci beaucoup Nanti !!!! Ralala j'suis bien content. Bonne après midi, et merci encore !!!!
Messages postés
59
Date d'inscription
samedi 14 avril 2007
Statut
Membre
Dernière intervention
2 avril 2010

De rien !!!

Bon après-midi à toi aussi et bonne contination pour la suite de ton site !!!

Cordialment,

Nanti
Messages postés
59
Date d'inscription
samedi 14 avril 2007
Statut
Membre
Dernière intervention
2 avril 2010

Je voulais dire : bonne continuation.

Désolé pour ceux qui lisent ce message de fin... (pour ceux que ça intéresse) C'est aujourd'hui l'anniv' de ma chère et tendre et j'ai déjà légèrement fêté cela !!!!

Bien à vous tous,

Nanti (qui marque n'imp' quand il a bu)
Messages postés
10
Date d'inscription
samedi 29 décembre 2007
Statut
Membre
Dernière intervention
11 avril 2009

Et bien bon anniversaire à elle !!