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 :

insertion dans DB : problème caractère ' [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de vasilov
    Inscrit en
    Juillet 2003
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 306
    Par défaut insertion dans DB : problème caractère '
    Bonjour,

    j'ai un probleme pour saisir un champ de texte avec un caractère ' :

    Dans un formulaire, la chaine de caractère apparait correctement : il n'y a pas de soleil
    Cette variable est stockée dans un champ mysql VARCHAR et apparait correctement sous phpMyAdmin.
    Mais lorsque je l'affiche dans une page web, le caractère \ apparait en plus : il n\'y a pas de soleil

    Savez vous comment faire pour éviter ce problème?
    Merci pour votre aide

  2. #2
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Par défaut
    Bonjour,

    Utilise stripslashes() à l'affichage.

    Le mieux est quand même d'utiliser mysql_real_escape_string() AVANT de l'envoyer à la BDD

  3. #3
    Membre éclairé Avatar de vasilov
    Inscrit en
    Juillet 2003
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 306
    Par défaut
    Citation Envoyé par N1bus Voir le message
    Bonjour,

    Utilise stripslashes() à l'affichage.

    Le mieux est quand même d'utiliser mysql_real_escape_string() AVANT de l'envoyer à la BDD
    J'ai testé avec mysql_real_escape_string() mais ca me rajoute des \ dans la DB (et dans le formulaire) c'est donc pire que mieu, je vais chercher une fonction qui fasse l'inverse

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Par défaut
    stripslashes() ?

  5. #5
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Par défaut
    Citation Envoyé par Tsilefy Voir le message
    stripslashes() ?

    Citation Envoyé par DOCPHP
    stripslashes() retourne une chaîne dont les anti-slash on été supprimés. \' devient ', etc. Les doubles anti-slash sont réduits à un seul anti-slash. stripslashes() est la fonction inverse de addslashes().

  6. #6
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Par défaut
    J'ai testé avec mysql_real_escape_string() mais ca me rajoute des \ dans la DB (et dans le formulaire) c'est donc pire que mieu
    C'est fait pour .
    Il faut utiliser stripslashes() après à l'affichage

  7. #7
    Membre éclairé Avatar de vasilov
    Inscrit en
    Juillet 2003
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 306
    Par défaut
    Il faut utiliser stripslashes() après à l'affichage
    effectivement, c'est beaucoup mieux
    Et je n'ai même pas eu besoin de mysql_real_escape_string() avant l'insertion en DB

    Merci pour ton aide

  8. #8
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Par défaut
    Citation Envoyé par vasilov Voir le message
    Et je n'ai même pas eu besoin de mysql_real_escape_string() avant l'insertion en DB
    Tu devrais pourtant l'utiliser : Comment se protéger des failles d'injection ?

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 07/03/2009, 14h44
  2. insertion dans chaine de caractère
    Par fabrice44 dans le forum Macros et VBA Excel
    Réponses: 19
    Dernier message: 07/12/2007, 06h46
  3. Problème d'insertion dans la base.
    Par roots_man dans le forum ASP
    Réponses: 2
    Dernier message: 14/09/2004, 12h56
  4. [MFC] problème avec les insertions dans CComboBox
    Par Joeleclems dans le forum MFC
    Réponses: 12
    Dernier message: 11/06/2004, 15h31
  5. Réponses: 2
    Dernier message: 01/06/2004, 12h47

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