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 :

[PHP-JS] Problème avec addslashes


Sujet :

Langage PHP

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2006
    Messages : 29
    Par défaut [PHP-JS] Problème avec addslashes
    Hello,
    J'utilise la fonction addslashes pour protéger de simple string du genre "l'hotel"... J'obtiens le résultat suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    addslashes("l'hotel") -> me retourne :  l''hotel
    ce sont deux simples quotes '' entre le l et hotel

    Je sais qu'on peut protèger les string de cette maniere pour faire des insertions dans des Bdd mysql, mais moi je veux des backslash! :

    Ces données ne vont pas dans un BDD, mais doivent étre évaluée avec du javascript (fonction eval)

    S'agit-il d'un paramètre dans la configuation de php qu'il faut régler pour avoir des backslash au lieu de quote?

    Merci

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Août 2006
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 379
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $mot = 'l\'hotel';
    echo addslashes($mot);
    Normalement ça te renvoie l\'hotel.

    Maintenant ça devrait fonctionner aussi avec ta solution ... je comprend pas trop.

  3. #3
    Membre expérimenté
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 161
    Par défaut
    Bizarre ton problème, chez moi la fonction addslashes a toujours bien fonctionné.
    Au pire utilise mysql_escape_string

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2006
    Messages : 29
    Par défaut
    Merci pour la rapidité des réponse les gars!
    Oui je sais pas, ça devrait pas poser problème...
    Pour le moment j'ai mis tous mes string entre double guillemet:

    "\"l'hotel\"" (normalement il n'y a pas de double guillemet dans mes string)

    Je n'peux pas utiliser mysql_real_escape_string car il faut une connection a une BDD mysql.
    Si quelqu'un a la solution, qu'il n'hesite pas!

  5. #5
    Membre émérite
    Avatar de Dia_FR
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    512
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2006
    Messages : 512
    Par défaut
    un prob avec une fonction php ?

    1er réflexe, lire la doc

    doc addslashes

    tu as ta réponse
    Dia [ Page DVP ] [ Site pro ]

  6. #6
    Membre chevronné Avatar de mathieugamin
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 572
    Par défaut
    Salut
    Et la fonction get_magic_quotes_gpc(), elle renvoie TRUE ou FALSE ?

    Car dans le cas où elle renvoie 1, tu n'as pas besoin de addslashes... C'est automatique...

    Donc crée une fonction comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function intelliquotes($var){
      if(get_magic_quotes_gpc()==FALSE){
        echo addslashes($var);
      }
      else{
        echo $var;
      }
    }
    Ca doit fonctionner si tu utilises un méthode GET ou POST
    Dis-moi si ça marche...

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2006
    Messages : 29
    Par défaut
    Merci mathieugamin, mais je n'utilise pas les méthodes GET ou POST : j'appelle un fichier php en asynchrone (ajax). Celui-ci me renvoie un script javascript.
    un petit extrait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var data = new Array();
    data['nom'] = "Restaurant \"la petite auberge\""; // ce que ça devrait retourner
    Mais en effet, get_magic_quotes_gpc() me renvoie 1. Le problème maintenant est que je ne peux pas changer ce setting, je ne suis pas l'admin et de toute façon certaines BDD utilisant le même serveur en ont besoin (mais pas de bdd directement dans mon projet)
    Quelqu'un connaît un truc pour quand-même avoir un addslash dans mon cas ?
    thanks

  8. #8
    Membre chevronné Avatar de mathieugamin
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 572
    Par défaut
    Ah, désolé..
    J'avais pas compris...
    Mais en effet, comme l'a montré SpiritOfDoc avec ta chaîne entre double quotes + addslashes() ça doit fonctionner correctement...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $mot = "l'hôtel";
    echo addslashes($mot);
    // écrit l\'hôtel

  9. #9
    Membre émérite
    Avatar de Dia_FR
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    512
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2006
    Messages : 512
    Par défaut
    Citation Envoyé par mathieugamin
    Mais en effet, comme l'a montré SpiritOfDoc avec ta chaîne entre double quotes + addslashes() ça doit fonctionner correctement...
    apparemment personne a lu le lien que j'ai donné :

    Citation Envoyé par doc php
    Si la directive PHP magic_quotes_sybase est activée, ' sera protégé par un autre '.
    y a une fonction pour changer la valeur d'une directive le temps d'un script, cherche, je l'ai pas en tête là
    Dia [ Page DVP ] [ Site pro ]

  10. #10
    Membre chevronné Avatar de mathieugamin
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 572
    Par défaut
    Pardon, c'est vrai j'ai pas lu ton lien...

    Y'a plus qu'à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <?php	echo 'magic quotes Sybase : ';
    	   echo ini_get('magic_quotes_sybase');
    	   if (ini_get('magic_quotes_sybase')){echo 'activé !';}
    	   if (!ini_get('magic_quotes_sybase')){echo 'désactivé !';}
    ?>
    Après ce sera plus clair...

  11. #11
    Membre chevronné Avatar de mathieugamin
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 572
    Par défaut
    Peux-tu essayer ça au tout début de ton script.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php ini_set('magic_quotes_sybase', '0'); ?>
    Ca désactive les magic_quotes_sybase pour le temps du script, ensuite, la directive se réactive elle-même...

    Je ne suis pas sûr que ça fonctionne sur ton serveur...

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2006
    Messages : 29
    Par défaut
    Yes ça ça marche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <?php ini_set('magic_quotes_sybase', '0'); ?>
    Merci bien!

  13. #13
    Membre chevronné Avatar de mathieugamin
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 572
    Par défaut
    C'est un plaisir !

    apparemment personne a lu le lien que j'ai donné :
    C'est vrai qu'on aurait gagné du temps... on ne m'y reprendra plus !

  14. #14
    Membre émérite
    Avatar de Dia_FR
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    512
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2006
    Messages : 512
    Par défaut
    la prochaine fois je mettrai le lien ET le bout de texte intéressant
    Dia [ Page DVP ] [ Site pro ]

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

Discussions similaires

  1. [PHP-JS] Problème avec un script php d'un formulaire
    Par Dark DJ dans le forum Langage
    Réponses: 3
    Dernier message: 11/06/2006, 19h36
  2. [PHP-JS] Problème avec hidden ?
    Par samjung dans le forum Langage
    Réponses: 6
    Dernier message: 06/06/2006, 17h07
  3. [PHP-JS] Problème avec les $_GET J'en peux plus la
    Par schtek2 dans le forum Langage
    Réponses: 8
    Dernier message: 21/05/2006, 20h56
  4. [PHP-JS] Problème avec un menu déroulant
    Par grumly22 dans le forum Langage
    Réponses: 3
    Dernier message: 09/05/2006, 11h07
  5. [PHP-JS] problème avec le flush
    Par bat dans le forum Langage
    Réponses: 4
    Dernier message: 05/10/2005, 15h03

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