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 :

[Mail] Encodage quand les informations sont renvoyées


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 23
    Points : 8
    Points
    8
    Par défaut [Mail] Encodage quand les informations sont renvoyées
    Salut à tous,

    j'ai créé mon formulaire en php lorsque les infos sont renvoyées, les accents ne s'affichent pas.

    Pourtant mes pages, à part, celle qui traite le formulaire "traitement.php" sont toutes en utf-8.

    SI quelqu'un peut me renseigner.
    Merci.

    COrdialement.

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Bonjour

    Je serais ravie de t'aider mais je ne vois pas quel est ton problème. Pourrais-tu nous donner quelques précisions ?

    Je crois déjà qu'il te manque > pour fermer ta balise meta.

    Et au cas où : comment faire une redirection ?

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 23
    Points : 8
    Points
    8
    Par défaut
    Merci celira c'est résolu pour la redirection : echo "<meta http-equiv='refresh' content='2; url=http://monsite.fr'>";

    Sinon je bloque sur les accents qui sont pas bien reçus.

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 23
    Points : 8
    Points
    8
    Par défaut
    Pas d'aide ?

    Je précise que ma page est bien en utf-8, mais lorsque les infos sont renvoyés par mail, pas d'accent :/

    Voici ma page "traitement.php" qui traite le 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
    <?php
    $msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis :<br/><br/>";
    $msg_ok = "Votre demande a bien été prise en compte.";
    $message = $msg_erreur;
    echo "<meta http-equiv='refresh' content='2; url=http://www.monsite.fr/?page_id=10'>";
     
    define('MAIL_DESTINATAIRE','jp.perget@yahoo.fr');
    define('MAIL_SUJET','Message provenant du site Internet');
     
    // vérification des champs
    if (empty($_POST['civilite']))
    $message .= "Votre civilit&eacute;<br/>";
    if (empty($_POST['nom']))
    $message .= "Votre nom<br/>";
    if (empty($_POST['prenom']))
    $message .= "Votre Pr&eacute;nom<br/>";
    if (empty($_POST['societe']))
    $message .= "Votre Soci&eacute;t&eacute;<br/>";
    if (empty($_POST['adresse']))
    $message .= "Votre adresse<br/>";
    if (empty($_POST['codepostal']))
    $message .= "Votre code postal<br/>";
    if (empty($_POST['ville']))
    $message .= "Votre ville<br/>";
    if (empty($_POST['tel']))
    $message .= "Votre t&eacute;l&eacute;phone<br/>";
    if (empty($_POST['fax']))
    $message .= "Votre fax<br/>";
    if (empty($_POST['objet']))
    $message .= "Objet du message que vous voulez enovoyer<br/>";
    if (empty($_POST['comments']))
    $message .= "Votre message<br/>";
     
    // si un champ est vide, on affiche le message d'erreur
    if (strlen($message) > strlen($msg_erreur)) {
     
      echo $message;
     
    // sinon c'est ok
    } else {
     
    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: {$_POST['nom']} "
                 ."<{$_POST['email']}>\r\n";
    $mail_entete .= 'Reply-To: '.$_POST['email']."\r\n";
    $mail_entete .= 'Content-Type: text/plain; charset="iso-8859-1"';
    $mail_entete .= "\r\nContent-Transfer-Encoding: 8bit\r\n";
    $mail_entete .= 'X-Mailer:PHP/' . phpversion()."\r\n";
     
    // préparation du corps du mail
    $mail_corps .= "Message de : $civilite $nom $prenom\n\n";
    $mail_corps .= "Societe : $societe\n\n";
    $mail_corps .= "Adresse : $adresse, $codepostal $ville\n\n";
    $mail_corps .= "Tel : $tel - Fax $fax\n\n";
    $mail_corps .= "L'objet du message : $objet\n\n\n";
    $mail_corps .= $comments;
     
    // envoi du mail
    if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete)) {
     
      //Le mail est bien expédié
      echo $msg_ok;
    } else {
     
      //Le mail n'a pas été expédié
      echo 'Une erreur est survenue lors de l\'envoi du formulaire par email';
    }
     
    }
    ?>

  5. #5
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 440
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 440
    Points : 15 814
    Points
    15 814
    Par défaut
    si tes données sont en UTF-8, tu dois aussi l'indiquer dans l'entête de l'e-mail :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $mail_entete .= 'Content-Type: text/plain; charset=UTF-8';
    (tu n'as pas besoin de guillemets autour de l'encodage)

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 23
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par mathieu
    si tes données sont en UTF-8, tu dois aussi l'indiquer dans l'entête de l'e-mail :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $mail_entete .= 'Content-Type: text/plain; charset=UTF-8';
    (tu n'as pas besoin de guillemets autour de l'encodage)
    Nickel merci Mathieu

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

Discussions similaires

  1. Réponses: 12
    Dernier message: 22/12/2011, 07h16
  2. Quand les onglets sont interdits
    Par mawelle dans le forum IHM
    Réponses: 8
    Dernier message: 01/04/2008, 15h23
  3. Réponses: 4
    Dernier message: 07/06/2007, 16h33
  4. Quand les ressources sont elles associées ?
    Par poulette3000 dans le forum Windows
    Réponses: 1
    Dernier message: 25/08/2006, 23h57

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