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 :

pb apostrophe et double guillemets [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 5
    Points : 5
    Points
    5
    Par défaut pb apostrophe et double guillemets
    bonjour,

    Dans la plupart des devs que j'ai eu a faire j'ai souvent un formulaire
    avec au moins un champ texte (saisie libre) que je dois insérer dans une table SQL. et j'ai un soucis avec la saisie des ' et des " .
    Jusqu'a présent mes requetes SQL était du type :

    $Requete = "insert into TABLE (id,nom,texte) values(:1,':2',':3') " ;

    ensuite je fais :

    $Requete = str_replace(':2', $_POST['texte'], $Requete) ;

    hors si le user saisie des guillemets " ou ' cela pose problème, mais pas toujours et c'est la ou je comprend pas bien.

    En cherchant j'ai compris qu'il faut apparement utiliser addslashes et stripslashes et même htmlentities pour 'nettoyer' le texte saisie.

    je n'ai pas de problème de compréhension par rapport à ces fonctions, mais j'aimerais savoir comment vous procédez dans vos projets pour solutioner ce problème d'enregistrement texte libre, juste un retour d'expérience sur l'utilisation de ces fonctions ou d'autres fonctions (perso).

    Merci d'avance,

    Gslack,

  2. #2
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    hum, ca depend aussi de l'option magic_quotes

    si elle est activée, toutes les variables qui transitent par get ou post seront "addslashées" (du verbe addslasher).

    Sinon c'est a toi de le faire, tu as aussi un mysql_real_escape.

  3. #3
    Futur Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 5
    Points : 5
    Points
    5
    Par défaut magic quote
    Merci de pour votre réponse

    Je pense que j'ai un probleme sur magic quote car entre mon serveur de dev et le serveur qui heberge j'avais pas le même comportement.

    Est ce que cela pose problème d'utiliser addslashes dans le cas ou l'option magic_quote est active. Cela va t-il 'doubler' les slashes ?

    Merci

  4. #4
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    c est effectivement le risque.

    Tu peux contourner ca en testant le get_magic_quotes_gpc

  5. #5
    Futur Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Merci beaucoup

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

Discussions similaires

  1. Apostrophe et double quote
    Par diombo dans le forum VBA Access
    Réponses: 4
    Dernier message: 12/07/2011, 10h35
  2. Réponses: 1
    Dernier message: 11/07/2011, 14h59
  3. Erreur d'analyse avec les apostrophes et les guillemets
    Par antoine974 dans le forum Langage
    Réponses: 2
    Dernier message: 25/01/2009, 17h46
  4. Guillemets et doubles guillemets
    Par Gaspard42 dans le forum VBScript
    Réponses: 1
    Dernier message: 14/03/2007, 16h56
  5. insérer un champs contenant des apostrophes ou es guillemets
    Par renofx1 dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 18/01/2006, 15h49

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