IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Formulaire de Contact chez free


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 24
    Points : 22
    Points
    22
    Par défaut Formulaire de Contact chez free
    Bonjour,
    J'ai un formulaire de contact en php qui a l'air de fonctionner mais je ne reçois aucun mail.
    Hébergement chez free.
    Quelqu'un a une idée du problème ?

    Voici le code actuel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    <?php  
        define( 'MAIL_TO', /* >>>>> */'utilisateur@domaine.tld'/* <<<<< */ );  //ajouter votre courriel  
        define( 'MAIL_FROM', 'utilisateur@domaine.tld' ); // valeur par défaut  
        define( 'MAIL_OBJECT', 'objet du message' ); // valeur par défaut  
        define( 'MAIL_MESSAGE', 'votre message' ); // valeur par défaut  
     
        $mailSent = false; // drapeau qui aiguille l'affichage du formulaire OU du récapitulatif  
        $errors = array(); // tableau des erreurs de saisie  
     
        if( filter_has_var( INPUT_POST, 'send' ) ) // le formulaire a été soumis avec le bouton [Envoyer]  
        {  
            $from = filter_input( INPUT_POST, 'from', FILTER_VALIDATE_EMAIL );  
            if( $from === NULL || $from === MAIL_FROM ) // si le courriel fourni est vide OU égale à la valeur par défaut  
            {  
                $errors[] = 'Vous devez renseigner votre adresse de courrier électronique.';  
            }  
            elseif( $from === false ) // si le courriel fourni n'est pas valide  
            {  
                $errors[] = 'L\'adresse de courrier électronique n\'est pas valide.';  
                $from = filter_input( INPUT_POST, 'from', FILTER_SANITIZE_EMAIL );  
            }  
     
            $object = filter_input( INPUT_POST, 'object', FILTER_SANITIZE_STRING, FILTER_FLAG_ENCODE_HIGH | FILTER_FLAG_ENCODE_LOW );  
            if( $object === NULL OR $object === false OR empty( $object ) OR $object === MAIL_OBJECT ) // si l'objet fourni est vide, invalide ou égale à la valeur par défaut  
            {  
                $errors[] = 'Vous devez renseigner l\'objet.';  
            }  
     
     /* pas besoin de nettoyer le message.   
     / [<a href="http://www.phpsecure.info/v2/article/MailHeadersInject.php]" target="_blank">http://www.phpsecure.info/v2/article...ersInject.php]</a>  
     / Logiquement, les parties message, To: et Subject: pourraient servir aussi à injecter quelque chose,  mais la fonction mail()  
     / filtre bien les deux dernières, et la première est le message, et à partir du moment où on a sauté une ligne dans l'envoi du mail,  
     / c'est considéré comme du texte; le message ne saurait donc rester qu'un message.*/  
            $message = filter_input( INPUT_POST, 'message', FILTER_UNSAFE_RAW );  
            if( $message === NULL OR $message === false OR empty( $message ) OR $message === MAIL_MESSAGE ) // si le message fourni est vide ou égale à la valeur par défaut  
            {  
                $errors[] = 'Vous devez écrire un message.';  
            }  
     
            if( count( $errors ) === 0 ) // si il n'y a pas d'erreurs  
            {  
                if( mail( MAIL_TO, $object, $message, "From: $from\nReply-to: $from\n" ) ) // tentative d'envoi du message  
                {  
                    $mailSent = true;  
                }  
                else // échec de l'envoi  
                {  
                    $errors[] = 'Votre message n\'a pas été envoyé.';  
                }  
            }  
        }  
        else // le formulaire est affiché pour la première fois, avec les valeurs par défaut  
        {  
            $from = MAIL_FROM;  
            $object = MAIL_OBJECT;  
            $message = MAIL_MESSAGE;  
        }  
    ?>  
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "[http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd]">  
    <html lang="fr" xmlns="[http://www.w3.org/1999/xhtml]" xml:lang="fr">  
        <head>  
            <title>Contact</title>  
            <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />  
            <meta http-equiv="content-language" content="fr" />  
            <style type="text/css">  
    html{ font-family:Geneva, Arial, Helvetica, sans-serif; margin:0; padding:0; font-size:.88em;}  
    body{ width:772px; margin:0 auto; padding:0; }  
    textarea{ width:772px; }  
    label{ display:block; font-weight:bold; }  
    p#welcome{ padding:10px 20px; border:1px dotted #00f; color:#00f; font-weight:bold; }  
    ul{ padding:10px 20px; border:1px dotted #f00; color:#f00; font-weight:bold; }  
    p#success{ padding:10px 20px; border:1px dotted #0f0; color:#0f0; font-weight:bold; }  
    p em{ display:block; font-weight:normal; }  
            </style>  
        </head>  
        <body>  
            <h1>Contact</h1>  
            <hr />  
    <?php  
        if( $mailSent === true ) // si le message a bien été envoyé, on affiche le récapitulatif  
        {  
    ?>  
            <p id="success">Votre message a bien été envoyé.</p>  
            <p><strong>Courriel pour la réponse :</strong><br /><?php echo( $from ); ?></p>  
            <p><strong>Objet :</strong><br /><?php echo( $object ); ?></p>  
            <p><strong>Message :</strong><br /><?php echo( nl2br( htmlspecialchars( $message ) ) ); ?></p>  
    <?php  
        }  
        else // le formulaire est affiché pour la première fois ou le formulaire a été soumis mais contenait des erreurs  
        {  
            if( count( $errors ) !== 0 )  
            {  
                echo( "\t\t<ul>\n" );  
                foreach( $errors as $error )  
                {  
                    echo( "\t\t\t<li>$error</li>\n" );  
                }  
                echo( "\t\t</ul>\n" );  
            }  
            else  
            {  
                echo( "\t\t<p id=\"welcome\"><em>Tous les champs sont obligatoires</em></p>\n" );  
            }  
    ?>  
            <form id='contact' method="post" action="<?php echo( $_SERVER['REQUEST_URI'] ); ?>">  
                <p>  
                    <label for="from">Courriel pour la réponse</label>  
                    <input type="text" name="from" id="from" value="<?php echo( $from ); ?>" />  
                </p>  
                <p>  
                    <label for="object">Objet</label>  
                    <input type="text" name="object" id="object" value="<?php echo( $object ); ?>" />  
                </p>   
                <p>  
                    <label for="message">Message</label>  
                    <textarea name="message" id="message" rows="20" cols="80"><?php echo( $message ); ?></textarea>  
                </p>  
                <p>  
                    <input type="reset" name="reset" value="Effacer" />  
                    <input type="submit" name="send" value="Envoyer" />  
                </p>  
            </form>  
    <?php  
        }  
    ?>  
        </body>  
    </html>

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu n'as pas mis les valeurs au début du script ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Homme Profil pro
    Déveleoppeur Web/Mobile
    Inscrit en
    Avril 2013
    Messages
    330
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Déveleoppeur Web/Mobile
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 330
    Points : 545
    Points
    545
    Par défaut
    Check les erreurs car la c'est le flou total

Discussions similaires

  1. Formulaire de contact chez ovh
    Par ludox29 dans le forum jQuery
    Réponses: 8
    Dernier message: 27/08/2014, 09h09
  2. Formulaire de contact chez OVH
    Par khalidlyon dans le forum OVH
    Réponses: 4
    Dernier message: 17/01/2011, 19h57
  3. Formulaire d'envoi de mail chez Free et vérification
    Par Horse_pyro dans le forum Langage
    Réponses: 8
    Dernier message: 03/05/2008, 01h44
  4. Problème d'accès formulaire de contact
    Par Mystic26 dans le forum Langage
    Réponses: 7
    Dernier message: 16/09/2005, 16h47
  5. Pb de session chez free
    Par kernel57 dans le forum Langage
    Réponses: 2
    Dernier message: 01/09/2005, 14h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo