Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 4 sur 4
  1. #1
    Invité de passage
    Inscrit en
    août 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : août 2006
    Messages : 6
    Points : 1
    Points
    1

    Par défaut Détection et remplacement complexe dans notepad++

    Bonjour @ tous,

    suite au passage du CLIENT MYSQL 4.1 à MYSQL 5.1, j'ai un bug qui est apparu sur la totalité des formulaires (POST) avec entrées stockées dans une base de données mysql.

    En effet la fonction htmlentities($_POST['xxx']) que je pensais bien utliser doit impérativement se voir renseigner htmlentities($_POST['xxx'], ENT_QUOTES);.

    aussi, je souhaiterais utiliser notepad++ pour remplacer la totalité des pages concernés soit plus de 3000 en utlisant les regex que je ne maitrise pas du tout.

    Est ce quelqu'un pourrait s'il vous plait me dire quelle regex utiliser pour chercher et remplacer une chaine contant htmlentities( suivie de "quelque chose" puis de ");" et de remplacer le ); suivant par ", ENT_QUOTES);"

    Merci

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro Vincent
    Inscrit en
    juillet 2005
    Messages
    21 280
    Détails du profil
    Informations personnelles :
    Nom : Homme Vincent

    Informations forums :
    Inscription : juillet 2005
    Messages : 21 280
    Points : 31 018
    Points
    31 018

    Par défaut

    Remplacer
    Par
    Code :
    htmlentities\(\1, ENT_QUOTES\)

  3. #3
    Invité de passage
    Inscrit en
    août 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : août 2006
    Messages : 6
    Points : 1
    Points
    1

    Par défaut

    Merci beaucoup pour votre réponse.

    je viens d'essayer, le remplacement remplace la variable par /1 lorsqu'il s'agit d'une simple déclaration de variable et commet une erreur lorsque la variable est incluse dans une condition.

    Par exemple :

    Code :
    1
    2
    if($_POST[tri]!='') 
    { $tri=htmlentities($_POST[tri]); } else { $tri=htmlentities($_GET[tri]); }
    donne
    Code :
    if($_POST[tri]!='') { $tri=htmlentities\(\1, ENT_QUOTES\); }
    Pouvez vous me dire SVP ce que signifie la regex htmlentities\((.*)\) et le /1 du remplacement?

    Merci

  4. #4
    Membre Expert
    Avatar de Seb33300
    Homme Profil pro Sébastien Alfaiate
    Développeur Web
    Inscrit en
    janvier 2007
    Messages
    1 459
    Détails du profil
    Informations personnelles :
    Nom : Homme Sébastien Alfaiate
    Âge : 28
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : janvier 2007
    Messages : 1 459
    Points : 2 248
    Points
    2 248

    Par défaut

    Un client MySQL ?

    Je pense que tu veux plutot dire que ton serveur mysql a été mis à jour.
    Mais je dirais plutot que le probleme vient du coté de PHP et des magics quotes qui ne doivent plus etres activées sur ton nouveau serveur.

    Donc soit, tu les réactives, mais c'est déprécié et fortement déconseillé de continuer à lutiliser.
    Soit tu corriges ton code pour protége tes requetes des injctions SQL avec la fonction mysql_real_escape_string
    Zend Certified Engineer PHP 5.3

    « Crois-tu comprendre le monde juste en matant le 20H Ou connaître l'histoire en ayant lu que l'angle des vainqueurs ? » Keny Arkana

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •