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 POST problème de caractère


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2011
    Messages : 8
    Par défaut Formulaire POST problème de caractère
    Hello à tous,

    Ma question n'est pas très originale, mais apres avoir lu pas mal de truc sur le net je n'arrive tjs pas à écrire mon script correctement.

    Le problème est que s'il y a des caractères spéciaux dans mon formulaire il ne sont pas retranscrit correctement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    $TO = "conception@lesbons7.com";
    $subject = '=?UTF-8?B?'.base64_encode("Quelqu'un s'est inscrit sur votre site pour recevoir des informations").'?=';
    $h = "From: " . $TO;
    $message = "";
    while (list($key, $val) = each($_POST)) {
    $message .= "$key : $val\n";
    }
    mail($TO, $subject, $message, $h);
    header("Location:index.html");
    ?>
    Je ne pense pas que ça soit compliqué mais je suis novice en php.

    Merci d'avance à celui qui pourra me dire quoi faire ;-)

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 84
    Par défaut
    Hello,
    un coup de utf8_decode sur ton $var, ça passe pas mieux ?

  3. #3
    Membre Expert
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Par défaut
    Salut,
    tu dois préciser l'encodage dans le header. Tu l'ajoutes dans ta variable $h.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2011
    Messages : 8
    Par défaut
    Merci pour vos réponses.

    Par contre je n'arrive pas à écrire cela correctement. J'ai fais plusieurs essais mais rien ne marche.

    N'est-ce pas comme ça que je doit l’écrire ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    $TO = "conception@lesbons7.com";
    $subject = '=?UTF-8?B?'.base64_encode("Quelqu'un s'est inscrit sur votre site pour recevoir des informations").'?=';
    $h = utf8_encode("From: " . $TO);
    $message = "";
    while (list($key, $val) = each($_POST)) {
    $message .= "$key : $val\n";
    }
    mail($TO, $subject, $message, $h);
    header("Location:index.html");
    ?>
    Désolé mais le PHP c'est pas ma tasse de thé

  5. #5
    Membre Expert
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Par défaut
    Bonjour,

    je pense qu'il voulait plutôt dire d'ajouter la directive charset dans ton header :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $h = "From: ".$TO."\\n";
    $h .= "Content-Type: text/plain; charset=UTF-8\\n";

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2011
    Messages : 8
    Par défaut
    Merci mais malheureusement ça ne marche tjs pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    $TO = "conception@lesbons7.com";
    $h = "From: ".$TO."";
    $h .= "Content-Type: text/plain; charset=UTF-8\\n";
    $subject = '=?UTF-8?B?'.base64_encode("Quelqu'un s'est inscrit sur votre site pour recevoir des informations").'?=';
    $message = "";
    while (list($key, $val) = each($_POST)) {
    $message .= "$key : $val\n";
    }
    mail($TO, $subject, $message, $h);
    header("Location:index.html");
    ?>
    Y a-t-il une erreur ?

  7. #7
    Membre Expert
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Par défaut
    Citation Envoyé par ska_root Voir le message
    Bonjour,

    je pense qu'il voulait plutôt dire d'ajouter la directive charset dans ton header :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $h = "From: ".$TO."\\n";
    $h .= "Content-Type: text/plain; charset=UTF-8\\n";
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $h = "From: $TO \r\n";
    $h .= "Content-Type: text/plain; charset=UTF-8\r\n";

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

Discussions similaires

  1. [httplib] Problème formulaire post PHP
    Par Gamoth dans le forum Réseau/Web
    Réponses: 4
    Dernier message: 27/03/2010, 13h40
  2. problème de caractères spéciaux dans formulaire
    Par jules_29 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 26/12/2007, 10h15
  3. Réponses: 4
    Dernier message: 29/11/2007, 13h09
  4. Problème formulaire POST avec SSO
    Par niluge22 dans le forum Servlets/JSP
    Réponses: 9
    Dernier message: 23/07/2007, 17h35
  5. Problème de caractères non latin dans un formulaire
    Par Huntress dans le forum Langage
    Réponses: 3
    Dernier message: 31/01/2006, 13h34

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