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 :

Faire un stripslashes dans les éléments d'un array


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 117
    Par défaut Faire un stripslashes dans les éléments d'un array
    Bonjour,

    J'ai une classe Database dans laquelle j'ai la fonction suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    function getResult($q)
        {
            $query = $this->makeQuery($q);
     
            while ($line = mysql_fetch_assoc($query)) {
                $result[] = $line;
            }
     
            mysql_free_result($query);
     
            return $result;
        }
    En résumé, cette fonction me permet d'obtenir, à la sortie, un tableau contenant les différentes données provenant d'une requête SQL exécutée au préalable.

    Pour exemple, voici ce que peut contenir cette variable $result :

    Code X : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Array ( [0] => Array ( [pageid] => 1 [pagesection] => 1 [pagesurtitre] => You on Web [pagetitre] => Votre partenaire pour le Web [pagesoustitre] => Project Management - Développement - Hébergement Web [pagechapeau] => You on Web vous propose de concevoir votre site Web dynamique facilement modifiable à la façon d'un CMS. You on Web, c'est aussi un service d'hébergement professionnel. [pagetexte] =>
    
    You on Web offre la possibilité à tout le monde d'avoir sa présence sur le Web. Pour cela :
    
        * You on Web vous propose un service d'hébergement (web hosting) professionnel et à la carte ! Choisissez et payez uniquement les services qui vous sont utiles.
        * You on Web vous offre la possibilité d'obtenir votre site Web à des prix adaptés et adaptables à tous les budgets tout en ne bradant pas la qualité.
        * You on Web vous propose des solutions vous permettant de gérer facilement l'ensemble du contenu de votre site Web, sans connaissance nécessaire en programmation car, pour qu'un site soit réellement dynamique, il doit pouvoir se mettre à jour rapidement.
        * You on Web s'articule autour de votre équipe pour déterminer ensemble le cahier des charges et être en mesure de répondre correctement à vos attentes.
        * You on Web c'est également votre partenaire pour la mise en place de votre stratégie de référencement et de positionnement car, avoir un site c'est une chose, le faire connaître en est une autre ! 
    
    [pagedate] => 2007-11-27 [pagestatut] => 1 [pagelangue] => 1 [pagetype] => 1 [pageuser] => 1 [pagetime] => 14:35:00 ) )

    Ce que j'aimerai faire dans cette fonction getResult avant de faire le return, c'est de parcourir l'ensemble des infos qui sont dans la variable $line pour les faire passer par un stripslashes et ensuite les replacer dans le tableau $result.

    Ainsi, si je fais un print_r($result['pagesection'], par exemple, je n'aurai pas les caractères d'échappement.

    Merci de vos conseils ... si je ne trouve rien, je devrai m'amuser à faire cela à chaque fois que je sors des données de la DB ...

  2. #2
    Membre très actif
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 406
    Par défaut
    Salut,
    tu peux essayer ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $taille_du_tableau = count($result);
    for($i=0;$i<$taille_du_tableau;$i++)
    {
       $result[$i] = stripslashes( $result[$i]);
    }
    Qui sait ... ça pourrait marcher !

  3. #3
    Membre Expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Par défaut
    Bonjour,

    je ne comprend pas pourquoi tu veux faire un stripslashes avant d'afficher les données de ta base...

    Dans l'exemple que tu as donné, je ne vois pas de caractères échappés ?

  4. #4
    Membre très actif
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 406
    Par défaut
    Euh ... à mon avis il voulait dire "apostrophes", non?

  5. #5
    Membre Expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Par défaut
    Citation Envoyé par zakaria84 Voir le message
    Euh ... à mon avis il voulait dire "apostrophes", non?
    Je ne comprend pas ce que tu veux dire (peut-être la fatigue...).

    stripslashes est une fonction qui permet de supprimer les caractères d'échappement (\). En général, c'est utilisé quand les magic_quotes sont activées, et que l'on veut afficher directement les données d'un formulaire.

    En récupération du contenu d'une base de données, il n'y a pas de raison que des caractères soient échappés. C'est pourquoi à mon sens il n'y a pas de raison d'utiliser stripslashes à ce niveau...

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 117
    Par défaut
    Navré ... mea culpa ... Je n'ai pas donné toutes les infos ...

    Mon but est bien entendu de faire passer toutes les données qui devront être injectées dans ma DB par un mysql_real_escape_string pour justement échapper les différents caractères à risque.

    Donc il est vrai que dans l'exemple donné, pas nécessaire mais dans la réalité, cela le sera :-)

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

Discussions similaires

  1. Comment faire une recherche dans les forums ?
    Par JJJJJ dans le forum Débuter
    Réponses: 3
    Dernier message: 04/01/2010, 19h24
  2. Comment faire un refresh dans les pages web (.uix)
    Par isicien dans le forum JDeveloper
    Réponses: 2
    Dernier message: 13/02/2009, 22h10
  3. Faire des calculs dans les états
    Par bobosh dans le forum IHM
    Réponses: 1
    Dernier message: 09/09/2008, 13h36
  4. Recherche dans les éléments d'une liste
    Par adelotti dans le forum VBA Word
    Réponses: 12
    Dernier message: 19/06/2008, 16h52

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