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 :

Formulaire PHP - Erreur Mail


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 7
    Points : 4
    Points
    4
    Par défaut Formulaire PHP - Erreur Mail
    Bonjour à tous,

    Je me suis permis de m'inscrire sur ce forum car j'ai un soucis récemment. Pour mon site internet, j'ai repris un formulaire php sur le web qui traite le formulaire pour envoyer un mail de confirmation à la personne qui s’inscrit mais j'ai transféré mon mutualisé ovh vers un kimsufi gentoo realese 2 ovh mais depuis j'ai un soucis. Le mail est bien envoyé mais il ne prend pas en compte du traitement du mail on dirait, voici l'exemple, logiquement la personne devrait recevoir ceci:
    Bonjour,

    Je vous envoie ce mail suite à l'inscription de Jean

    Voici les renseignements fournis:
    Nom : xxx
    Prénom: Jean
    Date de naissance: 22/07/2010
    Numéro de contact : xxx
    Semaine: ete9
    Lieu: Tubize
    Groupe: BabyCircus
    Réduction: aucune
    Garderie Supplémentaire (7h30 Ã 8 h): Non
    Si vous avez choisi la garderie supplémentaire (garderie gratuite de 8 h à 18 h), celle-ci devra être payée le premier jour du stage.
    Pour confirmer son inscription, vous pouvez verser un acompte de 25 € (ou la totalité de la somme) dans les 7 jours sur le compte bancaire suivant:

    001-5939879-63 - BE40 0015 9398 7963 Au nom de L'asbl Crazycircus et en communication:
    Van Seer Jean + BabyCircus + Tubize + ete9

    Pour le montant restant, le paiement s'effectue soit 7 jours avant le stage par virement bancaire oú en liquide le jour même du stage.

    Toutes les informations pratiques relatives à nos stages se trouvent sur cette page: http://crazycircus.be/infospratiques.html.
    Vous pouvez également compléter par avance la fiche médicale pour vos enfants disponible sur notre site internet http://crazycircus.be/FICHE_20MEDICALE.pdf


    Si vous avez la moindre question ou demande particulière, n'hésitez pas à me à contacter par émail.


    Cordialement Toubeau Xavier
    Responsable de l'Association Crazy Circus


    ASBL CrazyCircus
    Rue de Cambron 16, 7063 SOIGNIES
    067/ 85 17 31 - 0473/ 70 39 64
    http://www.crazycircus.Be
    Mais il est envoyé ainsi maintenant:
    From: 'CrazyCircus ASBL' <newsletter@crazycircus.be>
    Reply-To: newsletter@crazycircus.be
    Content-Type: text/html; charset="iso-8859-15"Content-Transfer-Encoding: 8bitX-MailerHP/5.2.13-pl1-gentoo

    <HTML>Bonjour, <BR><BR>Je vous envoie ce mail suite &agrave; l'inscription de Alice<BR><BR> Voici les renseignements fournis:<BR> <b>Nom : Michel<BR>
    Pr&eacute;nom: Alice<BR>
    Date de naissance: 28/09/10<BR>
    Num&eacute;ro de contact : 0473/85.85.60<BR>
    Semaine: ete6<BR>
    Lieu: Le Roeulx<BR>
    Groupe: BabyCircus<BR>
    R&eacute;duction: aucune <BR>
    Garderie Suppl&eacute;mentaire (7h30 à 8 h): Non<BR> Si vous avez choisi la garderie suppl&eacute;mentaire (garderie gratuite de 8 h à 18 h), celle-ci devra &ecirc;tre pay&eacute;e le premier jour du stage.

    </b>
    <BR>
    Pour confirmer son inscription, vous pouvez verser un acompte de
    25 &euro; (ou la totalit&eacute; de la somme) dans les 7 jours sur le compte bancaire suivant: <b><BR><BR>001-5939879-63 - BE40 0015 9398 7963</b> Au nom de L'asbl Crazycircus et en communication:<BR> <b> Michel Alice + Le Roeulx + ete6 + BabyCircus </B ><BR> <BR>Pour le montant restant, le paiement s'effectue soit 7 jours avant le stage par virement bancaire o&uacute; en liquide le jour m&ecirc;me du stage. <BR><BR>Toutes les informations pratiques relatives &agrave;Â nos stages se trouvent sur cette page:
    http://crazycircus.be/infospratiques.html. <BR>Vous pouvez &eacute;galement compl&eacute;ter par avance la fiche m&eacute;dicale pour vos enfants disponible sur notre site internet http://crazycircus.be/FICHE_20MEDICALE.pdf <BR><BR><BR>Si vous avez la moindre question ou demande particuli&egrave;re, n'h&eacute;sitez pas &agrave; me &agrave; contacter par &eacute;mail.
    <BR><BR><BR>Cordialement Toubeau Xavier<BR>Responsable de l'Association Crazy Circus <BR><BR> <BR>ASBL CrazyCircus <BR> Rue de Cambron 16, 7063 SOIGNIES <BR> 067/ 85 17 31 - 0473/ 70 39 64 <BR> http://www.crazycircus.Be </p>

    Je ne comprend pas pourquoi, voici le code php du formulaire:

    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
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    <?php
    // Parametres mysql à remplacer par les vôtres
    define('DB_SERVER', 'xxxx'); // serveur mysql
    define('DB_SERVER_USERNAME', 'xxxx'); // nom d'utilisateur
    define('DB_SERVER_PASSWORD', 'xxxx'); // mot de passe
    define('DB_DATABASE', 'xxxx'); // nom de la base
     
    // parametres email à remplacer par les vôtes
    define('MAIL_DESTINATAIRE',$_POST['mail']); // remplacer par votre email
    define('MAIL_DESTINATAIRES','stage@crazycircus.be'); // remplacer par votre email
    define('MAIL_SUJET','Inscription Stage - TUBIZE');
     
    $msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis :
    
    ";
    $msg_ok = "Votre demande a bien été prise en compte.";
    $message = $msg_erreur;
     
    // Connexion au serveur mysql
    $connect = mysql_connect(DB_SERVER, DB_SERVER_USERNAME,
    DB_SERVER_PASSWORD)
    or die('Impossible de se connecter : ' . mysql_error());
    // sélection de la base de données
    mysql_select_db (DB_DATABASE, $connect) or die('Error ' . $base . ' : ' . mysql_error());
    mysql_query("SET NAMES utf8" );
     
     
    // vérification des champs 
    if (empty($_POST['nom'])) 
    $message .= "Votre nom
    ";
    if (empty($_POST['prenom'])) 
    $message .= "Votre Prénom
    ";
    if (empty($_POST['naissance'])) 
    $message .= "Votre Date de naissance
    ";
    if (empty($_POST['age'])) 
    $message1 .= "L'âge de l'enfant
    ";
    if (empty($_POST['adresse'])) 
    $message .= "Votre adresse
    ";
    if (empty($_POST['mail'])) 
    $message .= "Votre mail
    ";
    if (empty($_POST['telephone'])) 
    $message .= "Votre téléphone
    ";
    if (empty($_POST['semaine'])) 
    $message1 .= "La période du stage
    ";
    if (empty($_POST['groupe'])) 
    $message1 .= "Le Choix du groupe
    ";
    if (empty($_POST['commentaire'])) 
    $message1 .= "Votre commentaire
    ";
    if (empty($_POST['reduction'])) 
    $message1 .= "reduction
    ";
     
    // si un champ est vide, on affiche le message d'erreur 
    if (strlen($message) > strlen($msg_erreur)) {
     
    echo $message;
     
    // sinon c'est ok 
    } else {
     
    // on enleve les slashes et espace inutiles 
    foreach($_POST as $index => $valeur) {
      $$index = stripslashes(trim($valeur));
    }
     
     
     
     
    //Préparation de l'entête du mail
    $mail_entete = "MIME-Version: 1.0\r\n";
    $mail_entete .= "From: 'CrazyCircus ASBL' "
    ."<{$_POST['mail']}>\r\n";
    $mail_entete .= 'Reply-To: '.$_POST['mail']."\r\n";
    $mail_entete .= 'Content-Type: text/html; charset="iso-8859-15"';
    $mail_entete .= "\r\nContent-Transfer-Encoding: 8bit\r\n";
    $mail_entete .= 'X-Mailer:PHP/' . phpversion()."\r\n";
     
    //Préparation de l'entête du mail
    $mail_entetes = "MIME-Version: 1.0\r\n";
    $mail_entetes .= "From: {$_POST['mail']} "
    ."<{$_POST['mail']}>\r\n";
    $mail_entetes .= 'Reply-To: '.$_POST['mail']."\r\n";
    $mail_entetes .= 'Content-Type: text/html; charset="iso-8859-15"';
    $mail_entetes .= "\r\nContent-Transfer-Encoding: 8bit\r\n";
    $mail_entetes .= 'X-Mailer:PHP/' . phpversion()."\r\n";
     
     
    // préparation du corps du mail
    $mail_corps = "<HTML>Bonjour, <BR><BR>Je vous envoie ce mail
    suite &agrave; l'inscription de $prenom<BR><BR>
    Voici les renseignements fournis:<BR>
    <b>Nom : $nom<BR>
    Pr&eacute;nom: $prenom<BR>
    Date de naissance: $naissance<BR>
    Num&eacute;ro de contact : $telephone<BR>
    Semaine: $semaine<BR>
    Lieu: Tubize<BR>
    Groupe: $groupe<BR>
    R&eacute;duction: $reduction <BR>
    Garderie Suppl&eacute;mentaire (7h30 à 8 h): $garderie<BR>
    Si vous avez choisi la garderie suppl&eacute;mentaire (garderie gratuite de 8 h à 18 h), celle-ci devra &ecirc;tre pay&eacute;e le premier jour du stage.
     </b>
    <BR>
    Pour confirmer son inscription, vous pouvez verser un acompte de 
    25 &euro; (ou la totalit&eacute; de la somme) dans les 7 jours sur le compte
    bancaire suivant: <b><BR><BR>001-5939879-63 - BE40 0015 9398 7963</b> 
    Au nom de L'asbl Crazycircus
    et en communication:<BR>
    <b> $nom $prenom + $groupe + Tubize + $semaine
    </B ><BR>
    <BR>Pour le montant restant, le paiement
    s'effectue soit 7 jours avant le stage par virement bancaire o&uacute; en
    liquide le jour m&ecirc;me du stage. <BR><BR>Toutes les informations
    pratiques relatives &agrave;*nos stages se trouvent sur cette page:
    http://crazycircus.be/infospratiques.html. <BR>Vous pouvez &eacute;galement compl&eacute;ter par avance la fiche m&eacute;dicale
    pour vos enfants disponible sur notre site internet 
    http://crazycircus.be/FICHE_20MEDICALE.pdf <BR><BR><BR>Si vous avez la moindre question ou demande
    particuli&egrave;re, n'h&eacute;sitez pas &agrave; me &agrave; contacter par &eacute;mail.
    <BR><BR><BR>Cordialement Toubeau Xavier<BR>Responsable de
    l'Association Crazy Circus <BR><BR>
    <BR>ASBL CrazyCircus <BR> Rue de Cambron 16, 7063 SOIGNIES <BR> 067/ 85 17 31 - 0473/ 70 39 64
    <BR> http://www.crazycircus.Be
    </p> 
    
    "; 
     
    $mail_corpss = "$nom <br> $prenom <br> $naissance <br> $adresse <br> $age <br> $telephone <br> $mail <br> $semaine <br> $groupe <br> $reduction <br> $commentaire ";
     
     
    // envoi du mail
    $res_mail = mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete);
    $res_mail1 = mail(MAIL_DESTINATAIRES,MAIL_SUJET,$mail_corpss,$mail_entetes);
     
     
     
    foreach($_POST as $index => $valeur) {
      // utilisez addslashes() au lieu de mysql_real_escape_string()
      // si vous n'etes pas sur PHP5 ou si la fonction pose probleme
      $$index = mysql_real_escape_string(trim($valeur));
    }
     
    // insere les donnees dans mysql
    $sql = "INSERT INTO tubize VALUES ('', '$nom', '$prenom', '$naissance', '$age', '$adresse', '$telephone', '$mail','$semaine','$groupe','$garderie','$reduction','$commentaire', now())";
    $res_sql = mysql_query($sql);
     
    // si le mail a ete envoye par mail et mysql
    if ($res_mail && $res_sql) {
    header("location:validationstage.html");
    // si mysql a retourn&eacute; une erreur 
    } else if (!$res_sql) {
    echo mysql_error();
    // si le mail n'a pas été envoyé 
    } else if (!$res_mail) {
    echo 'Erreur. Le formulaire ne nous a pas été correctement envoyé par email.';
    }
     
    }
    ?>

    Merci de votre aide

    Xavier

  2. #2
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2009
    Messages
    351
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 351
    Points : 342
    Points
    342
    Par défaut
    Bonjour,

    Pour envoyer un mail HTML, l'en-tête Content-type doit être défini comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $mail_entete .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

  3. #3
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    Toujours le même problème, cela ne change rien. Cela pourrait il venir du serveur mail installer sur la release ?

  4. #4
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    Je viens de faire le test sur mon mutualise ovh pour retester. La ca fonctionne parfaitement. Je suis vraiment perdu, pourquoi cela ne fonctionne pas sur mon dédie kimsufi ovh release 2

  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2011
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 26
    Points : 15
    Points
    15
    Par défaut
    Je me rappelle avoir eu un soucis du même genre... Faudrait que tu ailles vérifier les params du serveur mail de ton serv', il se peut qu'une case "Désactiver le code HTML" soit cochée

Discussions similaires

  1. formulaire php par mail
    Par guizmotte88 dans le forum Langage
    Réponses: 4
    Dernier message: 09/12/2008, 19h28
  2. Formulaire PHP avec envoi d'e-mail
    Par bebop77 dans le forum Langage
    Réponses: 8
    Dernier message: 11/08/2008, 14h31
  3. envoi mail en html via formulaire php
    Par flambyture dans le forum Langage
    Réponses: 5
    Dernier message: 27/03/2008, 10h43
  4. [Mail] Entête From dans un formulaire PHP
    Par Yalishanda dans le forum Langage
    Réponses: 2
    Dernier message: 24/08/2007, 00h08
  5. [Mail] Loguer l'erreur mail php
    Par Joe Le Mort dans le forum Langage
    Réponses: 1
    Dernier message: 17/02/2007, 19h27

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