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 :

Problèmes avec les caractères spéciaux [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Inscrit en
    Décembre 2006
    Messages
    411
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 411
    Par défaut Problèmes avec les caractères spéciaux
    Bonjour,

    Je suis un peu perdu avec les caractères spéciaux. Déjà quand je récupères une valeur dans un champ de formulaire, celle-ci est ajouté de \ devant les ' du genre L\'alphabet et quand je récupère les données de mysql çà ne le fait pas çà laisse les ' sans ajouter les \
    Du coup si je teste si la valeur du champ est égale à la valeur présente dans mysql (elles sont identiques) et pourtant il me dit qu'elles sont différentes et en effet il rajoute des \ dans la champ du formulaire.
    Enfin quand j'ajoute un champ de formulaire direct dans mysql pas de problème, par contre un update ne fonctionne pas !!!
    çà me met un error making query !!! si le texte comporte un caractère '

    Avec tous ces problèmes, j'ai commencé à utiliser les fonctions stripslashes et addslashes mais je ne comprends pas bien pourquoi tous ces problèmes avec les simple quotes '

    Merci

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Les antislashs sont certainement le fruit de la fonctionnalité magic_quotes_gpc (à vérifier en consultant la sortie de phpinfo par exemple).

    Peut-on avoir plus de détails sur la requête ? (le code PHP, lié directement ou non, à son exécution ainsi que le code SQL complet de la requête). Sachant que les données y étant utilisées n'ont besoin d'être échappées qu'une seule et unique fois (et par mysql_real_escape_string de préférence au lieu d'addslashes).

  3. #3
    Membre éclairé
    Inscrit en
    Décembre 2006
    Messages
    411
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 411
    Par défaut
    En effet magic_quote_gpc est activé (ON) dans mon phpinfo
    Sinon je viens de rajouter les '".mysql_real_escape_string($titre)."'
    Un oubli de ma part car les infos entrées par l'utilisateur doivent toujours être protégé par mysql_real_escape_string
    voici un bout de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    		$url=$_POST['url'];
    $query2="UPDATE siteaffilie SET url='".mysql_real_escape_string($url)."', etat=0 where pseudo='".mysql_real_escape_string($username)."' and id=$id";
    J'ai simplifié le code ici il manque des vérifications de sécurité tel que si le $_POST est vide ou non.
    J'ai modifié le code avec les mysql_real_escape_string et celà semble fonctionné désormais.

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

Discussions similaires

  1. Problème avec les caractère spéciaux netvibes
    Par alas70 dans le forum Langage
    Réponses: 1
    Dernier message: 02/03/2007, 11h59
  2. Réponses: 13
    Dernier message: 06/11/2006, 01h55
  3. Problème avec les caractères spéciaux
    Par vincentj dans le forum Connexion aux bases de données
    Réponses: 1
    Dernier message: 01/09/2006, 15h49
  4. problème avec les caractères spéciaux
    Par jmarc1818 dans le forum Général Python
    Réponses: 1
    Dernier message: 16/03/2006, 15h55
  5. [SAX] Problème avec les caractères spéciaux
    Par abdou.sahraoui dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 18/07/2005, 10h07

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