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

Langage PHP Discussion :

Réception de mail


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Décembre 2023
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Décembre 2023
    Messages : 9
    Points : 5
    Points
    5
    Par défaut Réception de mail
    Bonjour ,
    j'ai un petit problème sur mysqli je joint les fichiers ,
    c'est pour un formulaire de contact sur un site free.fr
    si je rempli tous les champs le message arrive bien sur
    la base mais ne m'envoie pas le mail pour m'informer du mail
    des visiteurs.
    s'agit t il d'un bug free ? ou autre ?.
    Pouvez vous m aider ? .
    Merci.
    Le fichier contact.php
    Code html : 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
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    <?php
    //Base de donnée
    if(!empty($_POST["send"])) {
            $name = $_POST["name"];
            $email = $_POST["email"];
            $subject = $_POST["subject"];
            $message = $_POST["message"];
     
            $connexion = mysqli_connect("sql.free.fr", "nom", "passe", "contact_form") or die("Erreur de connexion: " . mysqli_error($connexion));
            $result = mysqli_query($connexion, "INSERT INTO contact (name, email, subject, message) VALUES ('" . $name. "', '" . $email. "','" . $subject. "','" . $message. "')");
            if($result){
                    $db_msg = "Vos informations de contact sont enregistrées avec succés.";
                    $type_db_msg = "success";
            }else{
                    $db_msg = "Erreur lors de la tentative d'enregistrement de contact.";
                    $type_db_msg = "error";
            }
            
    }
    //l'envoie du mail
    if(!empty($_POST["send"])) {
            $name = $_POST["name"];
            $email = $_POST["email"];
            $subject = $_POST["subject"];
            $message = $_POST["message"];
     
            $toEmail = "monadresse@free.fr";
            $mailHeaders = "From: " . $name . "<". $email .">\r\n";
            if(mail($toEmail, $subject, $message, $mailHeaders)) {
                $mail_msg = "Vos informations de contact ont été reçues avec succés.";
                    $type_mail_msg = "success";
            }else{
                    $mail_msg = "Erreur lors de l'envoi de l'e-mail.";
                    $type_mail_msg = "error";
            }
    }
    ?>
     
    <html>
    	<head>
    		<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
    		<link rel="stylesheet" href="contact.css" />
    		<script type="text/javascript" src="contact.js"></script>
    	</head>
    	<body>
    		<div id="box">
    		  <form id="form" enctype="multipart/form-data" onsubmit="return validate()" method="post">
    		    <h3>Formulaire de contact</h3>
    		    <label>Nom: <span>*</span></label>
    		    <input type="text" id="name" name="name" placeholder="Nom"/>
    		    <label>Email: <span>*</span></label><span id="info" class="info"></span>
    		    <input type="text" id="email" name="email" placeholder="Email"/>
    		    <label>Sujet: <span>*</span></label>
    		    <input type="text" id="subject" name="subject" placeholder="Demande de renseignement"/>
    		    <label>Message:</label>
    		    <textarea id="message" name="message" placeholder="Message..."></textarea>
    		    <input type="submit" name="send" value="Envoyer le message"/>
    			<div id="statusMessage"> 
                <?php if (! empty($db_msg)) { ?>
                  <p class='<?php echo $type_db_msg; ?>Message'><?php echo $db_msg; ?></p>
                <?php } ?>
                <?php if (! empty($mail_msg)) { ?>
                  <p class='<?php echo $type_mail_msg; ?>Message'><?php echo $mail_msg; ?></p>
                <?php } ?>
                </div>
    		  </form>
    	    </div>
    	</body>
    </html><?php
    //Base de donnée
    if(!empty($_POST["send"])) {
            $name = $_POST["name"];
            $email = $_POST["email"];
            $subject = $_POST["subject"];
            $message = $_POST["message"];
     
            $connexion = mysqli_connect("sql.free.fr", "nom", "passe", "contact_form") or die("Erreur de connexion: " . mysqli_error($connexion));
            $result = mysqli_query($connexion, "INSERT INTO contact (name, email, subject, message) VALUES ('" . $name. "', '" . $email. "','" . $subject. "','" . $message. "')");
            if($result){
                    $db_msg = "Vos informations de contact sont enregistrées avec succés.";
                    $type_db_msg = "success";
            }else{
                    $db_msg = "Erreur lors de la tentative d'enregistrement de contact.";
                    $type_db_msg = "error";
            }
            
    }
    //l'envoie du mail
    if(!empty($_POST["send"])) {
            $name = $_POST["name"];
            $email = $_POST["email"];
            $subject = $_POST["subject"];
            $message = $_POST["message"];
     
            $toEmail = "monadresse@free.fr";
            $mailHeaders = "From: " . $name . "<". $email .">\r\n";
            if(mail($toEmail, $subject, $message, $mailHeaders)) {
                $mail_msg = "Vos informations de contact ont été reçues avec succés.";
                    $type_mail_msg = "success";
            }else{
                    $mail_msg = "Erreur lors de l'envoi de l'e-mail.";
                    $type_mail_msg = "error";
            }
    }
    ?>
     
    <html>
    	<head>
    		<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
    		<link rel="stylesheet" href="contact.css" />
    		<script type="text/javascript" src="contact.js"></script>
    	</head>
    	<body>
    		<div id="box">
    		  <form id="form" enctype="multipart/form-data" onsubmit="return validate()" method="post">
    		    <h3>Formulaire de contact</h3>
    		    <label>Nom: <span>*</span></label>
    		    <input type="text" id="name" name="name" placeholder="Nom"/>
    		    <label>Email: <span>*</span></label><span id="info" class="info"></span>
    		    <input type="text" id="email" name="email" placeholder="Email"/>
    		    <label>Sujet: <span>*</span></label>
    		    <input type="text" id="subject" name="subject" placeholder="Demande de renseignement"/>
    		    <label>Message:</label>
    		    <textarea id="message" name="message" placeholder="Message..."></textarea>
    		    <input type="submit" name="send" value="Envoyer le message"/>
    			<div id="statusMessage"> 
                <?php if (! empty($db_msg)) { ?>
                  <p class='<?php echo $type_db_msg; ?>Message'><?php echo $db_msg; ?></p>
                <?php } ?>
                <?php if (! empty($mail_msg)) { ?>
                  <p class='<?php echo $type_mail_msg; ?>Message'><?php echo $mail_msg; ?></p>
                <?php } ?>
                </div>
    		  </form>
    	    </div>
    	</body>
    </html>
    La base
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    CREATE TABLE IF NOT EXISTS `contact` (
      `name` varchar(100) NOT NULL,
      `email` varchar(100) NOT NULL,
      `subject` varchar(200) NOT NULL,
      `message` varchar(500) NOT NULL
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;

    Le JS
    Code javascript : 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
    function validate() {
        var isValid = true;
     
        var name = $("#name").val();
        var email = $("#email").val();
        var subject = $("#subject").val();
        var message = $("#message").val();
     
        if (name == "") {
            $("#name").css('border', '#fb0505 1px solid');
            isValid = false;
        }
        if (email == "") {
            $("#email").css('border', '#fb0505 1px solid');
            isValid = false;
        }
        if (!email.match(/^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/)) {
            $("#info").html("(Adresse email non valide)");
            $("#email").css('border', '#fb0505 1px solid');
            isValid = false;
        }
        if (subject == "") {
            $("#subject").css('border', '#fb0505 1px solid');
            isValid = false;
        }
        if (message == "") {
            $("#message").css('border', '#fb0505 1px solid');
            isValid = false;
        }
        return isValid;
    }
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 194
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 194
    Points : 8 409
    Points
    8 409
    Billets dans le blog
    17
    Par défaut
    Finalement, le problème c'est le mail qui ne part pas ?

    Il est possible que l'hébergeur gratuit ait bloqué mail() ou qu'il y ait des conditions spécifiques d'usage.

    Pour tester, fais un script tout simple...

    test-mail.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
     
    $email_sent = mail('ton.email@gmail.com', 'Test envoi mail depuis page perso free.fr', 'Corps du mail...');
     
    if ($email_sent) {
        echo 'Mail envoyé';
    } else {
        echo 'Mail non envoyé';
    }
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Décembre 2023
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Décembre 2023
    Messages : 9
    Points : 5
    Points
    5
    Par défaut ca fonctionne apparement
    Merci pour la réponse rapide le fichier fonctionne " message envoyé"
    en fait je me suis mal expliquer : Le visiteur rempli bien le formulaire le message apparait bien dans ma base
    mais je ne reçoit pas d'avertissement comme quoi il y a un nouveau message depuis ma base.
    j'espère que vous comprenez ce que je veut dire.
    Tous les jours je doit regarder dans la base si il y a un message.

  4. #4
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 194
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 194
    Points : 8 409
    Points
    8 409
    Billets dans le blog
    17
    Par défaut
    Merci pour la réponse rapide le fichier fonctionne " message envoyé"
    C'est un bon début. As-tu reçu le mail en question ?
    As-tu testé mon script ? As-tu reçu le mail ?

    mais je ne reçoit pas d'avertissement comme quoi il y a un nouveau message depuis ma base.
    Et l'avertissement en question, c'est le mail ?
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Décembre 2023
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Décembre 2023
    Messages : 9
    Points : 5
    Points
    5
    Par défaut reponse
    Je n'ai pas reçu l'email avec le fichier test que tu m'a écrit mais il avait écrit " message envoyé".
    Mon site pour voir au cas ou : http://crepoldrome.free.fr

  6. #6
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 194
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 194
    Points : 8 409
    Points
    8 409
    Billets dans le blog
    17
    Par défaut
    Je n'ai pas reçu l'email avec le fichier test que tu m'a écrit mais il avait écrit " message envoyé".
    Le problème est donc là, et n'a rien à voir avec mysqli.
    Réfère-toi aux conditions d'utilisations de la fonction mail() sur les pages persos Free.
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Décembre 2023
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Décembre 2023
    Messages : 9
    Points : 5
    Points
    5
    Par défaut merci
    Ok je vais essayer merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. HELP! Demande aide pour petit site à réaliser en ASP et JS
    Par itachi64 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 12/03/2006, 09h06
  2. Réponses: 2
    Dernier message: 11/03/2006, 19h34
  3. demande aide pour XML/XSL
    Par Jarod51 dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 11/01/2006, 19h10
  4. Résolution Sudoku, demande aide...
    Par Alain15 dans le forum C++
    Réponses: 25
    Dernier message: 02/01/2006, 15h29
  5. débutante demande aide
    Par youna dans le forum Langage
    Réponses: 1
    Dernier message: 04/10/2005, 11h30

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