Envoie de donnees d un formulaire par mail

artemiscel Messages postés 3 Date d'inscription samedi 25 février 2006 Statut Membre Dernière intervention 8 août 2008 - 6 août 2008 à 11:43
artemiscel Messages postés 3 Date d'inscription samedi 25 février 2006 Statut Membre Dernière intervention 8 août 2008 - 8 août 2008 à 12:48
Bonjour,
je debute en php, j'ai essaye de faire une page permettant aux visiteurs d'envoyer un mail avec toutes les informations qu il doit faire parvenir sous forme de formulaire
Le mail est bien envoye. Je recois correctement en en tete le nom prenom mail l objet qui a ete impose
mais le contenu du mail reste le "message" et je ne recois pas le formulaire

voici mon code

<?php
include('../includes/begin.php');
define('TITLE', 'Carte de visite');
include('../includes/header.php');
    /*
        ********************************************************************************************
        CONFIGURATION
        ********************************************************************************************
    */
    // destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
    $destinataire = 'graphisme@capimatique.be';

    // copie ? (envoie une copie au visiteur)
    $copie = 'non';

    // Action du formulaire (si votre page a des paramètres dans l'URL)
    // si cette page est index.php?page=contact alors mettez index.php?page=contact
    // sinon, laissez vide
    $form_action = '';

    // Messages de confirmation du mail
    $message_envoye = "Le message a bien été envoyé, vous recevrez une réponse le plus vite possible";
    $message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP.";

    // Message d'erreur du formulaire
    $message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";

    /*
        ********************************************************************************************
        FIN DE LA CONFIGURATION
        ********************************************************************************************
    */

    /*
     * cette fonction sert à nettoyer et enregistrer un texte
     */
    function Rec($text)
    {
        $text = trim($text); // delete white spaces after & before text
        if (1 === get_magic_quotes_gpc())
        {
            $stripslashes = create_function('$txt', 'return stripslashes($txt);');
        }
        else
        {
            $stripslashes = create_function('$txt', 'return $txt;');
        }

        // magic quotes ?
        $text = $stripslashes($text);
        $text = htmlspecialchars($text, ENT_QUOTES); // converts to string with " and ' as well
        $text = nl2br($text);
        return $text;
    };

    /*
     * Cette fonction sert à vérifier la syntaxe d'un email
     */
    function IsEmail($email)
    {
        $pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
        return (eregi($pattern,$email)) ? true : false;
    };

    $err_formulaire = false; // sert pour remplir le formulaire en cas d'erreur si besoin

    // si formulaire envoyé, on récupère tous les champs. Sinon, on initialise les variables.
    $nom         = (isset($_POST['nom']))        ? Rec($_POST['nom'])     : '';
    $prenom      = (isset($_POST['prenom']))     ? Rec($_POST['prenom'])  : '';   
    $email       = (isset($_POST['email']))       ? Rec($_POST['email'])   : '';
    $objet       = (isset($_POST['objet']))       ? Rec($_POST['objet'])   : '';
    $message     = (isset($_POST['message']))     ? Rec($_POST['message']) : '';
    $societe     = (isset($_POST['societe']))       ? Rec($_POST['societe'])   : '';
    $slogan      = (isset($_POST['slogan']))       ? Rec($_POST['slogan'])   : '';
    $fonction   = (isset($_POST['fonction']))   ? Rec($_POST['fonction'])   : '';
    $adresse1     = (isset($_POST['adresse1']))     ? Rec($_POST['adresse1']) : '';
    $adresse2     = (isset($_POST['adresse2']))     ? Rec($_POST['adresse2']) : '';
    $gsm         = (isset($_POST['gsm']))         ? Rec($_POST['gsm']) : '';
    $tel         = (isset($_POST['tel']))         ? Rec($_POST['tel']) : '';
    $site         = (isset($_POST['site']))         ? Rec($_POST['site']) : '';
    $nom2         = (isset($_POST['nom2']))         ? Rec($_POST['nom2'])     : '';
    $prenom2     = (isset($_POST['prenom2']))      ? Rec($_POST['prenom2'])  : '';   
    $email2       = (isset($_POST['email2']))       ? Rec($_POST['email2'])   : '';

    if (isset($_POST['envoi']))
    {
        // On va vérifier les variables et l'email ...
        $email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré
        $err_formulaire = (IsEmail($email)) ? false : true;

        if (($nom != '') && ($prenom != '') && ($email != '')  && ($message != ''))
        {
            // les 3 variables sont remplies, on génère puis envoie le mail
            $headers = 'From: '.$nom.' '.$prenom.'   <'.$email.'>' . "\r\n";

            // envoyer une copie au visiteur ?
            if ($copie == 'oui')
            {
                $cible = $destinataire.','.$email;
            }
            else
            {
                $cible = $destinataire;
            };

            // Remplacement de certains caractères spéciaux
            $message = html_entity_decode($message);
            $message = str_replace('&#039;',"'",$message);
            $message = str_replace('&#8217;',"'",$message);
            $message = str_replace('
','',$message);
            $message = str_replace('
','',$message);

            // Envoi du mail
            if (mail($cible, "carte de visite", $message,  $headers))
            {
                echo ''.$message_envoye.'

'."\n";
            }
            else
            {
                echo ''.$message_non_envoye.'

'."\n";
            };
        }
        else
        {
            // une des 3 variables (ou plus) est vide ...
            echo ''.$message_formulaire_invalide.' [design.php Retour au formulaire]

'."\n";
            $err_formulaire = true;
        };
    }; // fin du if (!isset($_POST['envoi']))

    if (($err_formulaire) || (!isset($_POST['envoi'])))
    {
        // afficher le formulaire
        echo '    <fieldset><legend>les chants marqués d\'un * sont obligatoires</legend>'."\n";       
        echo '    <form id="contact" method="post" action="'.$form_action.'">'."\n";
        echo '    <fieldset><legend>Vos coordonnées</legend>'."\n";
        echo '        '."\n";
        echo '            <label for="nom">* Nom :</label>'."\n";
        echo '            '."\n";
        echo '       

'."\n";
        echo '        '."\n";
        echo '            <label for="prenom">* Prénom :</label>'."\n";
        echo '            '."\n";
        echo '       

'."\n";
        echo '        '."\n";
        echo '            <label for="email">* Email :</label>'."\n";
        echo '            '."\n";
        echo '       

'."\n";
        echo '    </fieldset>'."\n";

        echo '    <fieldset><legend>Votre message :</legend>'."\n";

        echo '        '."\n";
        echo '            <label for="message">* Message :</label>'."\n";
        echo '            <textarea id="message" name="message" tabindex="5" cols="30" rows="8">'.stripslashes($message).'</textarea>'."\n";
       
        echo '       

'."\n";
        echo '    </fieldset>'."\n";

        echo '    <fieldset><legend>Aperçu de la carte de visite traditionnelle.</legend>'."\n";
        echo '        '."\n";
        echo '        ';
        echo '       

'."\n";
        echo '        '."\n";
        echo '            <label for="societe">Nom de la société :</label>'."\n";
        echo '            '."\n";
        echo '       

'."\n";
        echo '        '."\n";
        echo '            <label for="slogan">Slogan de la société :</label>'."\n";
        echo '            '."\n";
        echo '       

'."\n";
        echo '        '."\n";
        echo '            <label for="fonction">Votre fonction :</label>'."\n";
        echo '            '."\n";
        echo '       

'."\n";
        echo '        '."\n";
        echo '            <label for="nom2">Nom :</label>'."\n";
        echo '            '."\n";
        echo '       

'."\n";
        echo '        '."\n";
        echo '            <label for="prenom2">Prénom :</label>'."\n";
        echo '            '."\n";
        echo '       

'."\n";
        echo '        '."\n";
        echo '            <label for="adresse1">Rue, numéro :</label>'."\n";
        echo '            '."\n";
        echo '       

'."\n";
        echo '        '."\n";
        echo '            <label for="adresse2">Ville, code postal :</label>'."\n";
        echo '            '."\n";
        echo '       

'."\n";
        echo '        '."\n";
        echo '            <label for="gsm">Gsm :</label>'."\n";
        echo '            '."\n";
        echo '       

'."\n";
        echo '        '."\n";
        echo '            <label for="tel">Tél :</label>'."\n";
        echo '            '."\n";
        echo '       

'."\n";
        echo '        '."\n";
        echo '            <label for="email2">Email :</label>'."\n";
        echo '            '."\n";
        echo '       

'."\n";       
        echo '        '."\n";
        echo '            <label for="site">Site web :</label>'."\n";
        echo '            '."\n";
        echo '       

'."\n";       
        echo '    </fieldset>'."\n";

        echo '   

'."\n";
        echo '</form>'."\n";
    };
?>

Il provient de mes recherches ,de beaucoup de prises de tete et de conseils.
depuis ce matin je cherche comment inclure le formulaire (a partir de "Aperçu de la carte de visite traditionnelle.") mais je ne trouve pas...
voila j espere que je suis assez claire
merci

2 réponses

artemiscel Messages postés 3 Date d'inscription samedi 25 février 2006 Statut Membre Dernière intervention 8 août 2008
8 août 2008 à 10:03
Personne?
0
artemiscel Messages postés 3 Date d'inscription samedi 25 février 2006 Statut Membre Dernière intervention 8 août 2008
8 août 2008 à 12:48
Bien merci pour le coup de main... j ai trouve
0
Rejoignez-nous