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 :

Refus d'enregistrer les données [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 95
    Par défaut Refus d'enregistrer les données
    Bonjour à tous et toutes,

    je suis amené à enregistrer des coordonnées client dans une base mysql verrsion5.02.27 (package easy php) dont Jeu de caractères pour MySQL
    est utf-8 et dont l'interclassement pour la connexion MySQL est utf8_general_ci.

    Si dans mon meta je mets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    dans mes pages clients je n'ai que des caractères cabalistiques pour les accents du genre La requ�te � �chou et l'enregistrement ne se fait pas aussitôt qu'un apostrophe est mis dans l'un des champs
    exemple : L'île Rousse

    Si dans mon meta je mets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    dans mes pages clients j'ai les caractères accentués mais l'enregistrement ne se fait toujours pas aussitôt qu'un apostrophe est mis dans l'un des champs

    Pourquoi et merci

  2. #2
    Membre émérite Avatar de |PaRa-BoL
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 738
    Par défaut
    Echapes tu bien les caractères dans ta requête ? (mysql_real_escape_string()) dans le cas ou le magic quotes gpc est désactivé

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 95
    Par défaut
    voilà ce que je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
      if (get_magic_quotes_gpc())
       {
        $adresse1 = stripslashes(trim($_POST['ADRESSE1']));
       }
      else
       {
        $adresse1 = trim($_POST['ADRESSE1']);
       }
    et ensuite je soumet la requête à mysql.
    D'autre par j'ai magic quotes gpc à Off

  4. #4
    Membre émérite Avatar de |PaRa-BoL
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 738
    Par défaut
    Et où sont les addslashes ou mysql__real_escape_string ?
    Car là tu enlève carrément la sécurité au lieu d'en ajouter...

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 95
    Par défaut
    hou la la, je pensais que le trim enlever les espace superflus en début et fin de chaîne et le stripslashes enlever les doubles slashes //. Je pense que c'est bien pour enregistrer dans une base.
    Mais les addslashes ou mysql__real_escape_string je connaîs pas peux-tu m'éclairer sur le rôle et sur la façon de les utiliser avec tes conseils si tu veux bien (car je sais que la doc sert à çà)

  6. #6
    Membre émérite Avatar de |PaRa-BoL
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 738
    Par défaut
    C'est simple :

    Si le mysql quote gpc est activé :

    On fait rien (ou alors on enlève tout et on repasse derrière avec mysql_real_escape_string).

    Si le mysql_quote_gpc est désactivé :

    On fait un mysql_real_escape_string

    Qui aura pour effet d'échapper les caractères " ' \, etc.. afin de protéger la requêtes SQL.

    http://fr.php.net/mysql_real_escape_string

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

Discussions similaires

  1. enregistrer les données sur un fichier excel
    Par thunderpat dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 29/05/2007, 17h00
  2. [MySQL] Enregistrer les données d'un formulaire sur un autre serveur
    Par nixax dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 04/11/2006, 21h36
  3. Enregistrer les données d'une table dans un fichier texte word ou excel
    Par maamar1979 dans le forum Connexion aux bases de données
    Réponses: 2
    Dernier message: 14/06/2006, 13h41
  4. Réponses: 6
    Dernier message: 06/06/2006, 11h46
  5. enregistrer les données d'un FORMULAIRE sur une TABLE
    Par godzinho dans le forum Access
    Réponses: 15
    Dernier message: 11/03/2006, 18h03

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