Supprimer les anti slashes avant la majuscule

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par landry, 21 Février 2011.

Tags:
  1. landry
    landry WRInaute discret
    Inscrit:
    3 Mai 2006
    Messages:
    208
    J'aime reçus:
    0
    Bonjour,

    J'ai un problème bizarre depuis un sauvegarde de la db en latin plutôt qu'en UTF-8. Quand je m'en suis aperçu, immédiatement en fait, j'ai réinjecté une sauvegarde en utf-8. Le forum s'en est bien sorti les caractères sont redevenus OK mais sur l'annuaire ça ne va pas.
    Par exemple ce site :
    -http://www.micro-astuce.com/annuaire/site-2524.html
    Si je corrige la faute via le panneau d'admin de catégorizator elle disparait. C'est pourtant la même table de db qui gère les caractères de l'admin et ceux des personnes qui s'inscrivent sur l'annuaire.

    1) Comment réparer bien sûr ?
    2) Comment récupérer le coup pour tous les sites déjà inscris ?

    Merci de votre lecture.
     
  2. landry
    landry WRInaute discret
    Inscrit:
    3 Mai 2006
    Messages:
    208
    J'aime reçus:
    0
    Pour m'aider dans mes recherches pensez-vous que je doive essayer de trouver ce dysfonctionnement du côté de la DB ou du côté du script php.
    Ce qui est déroutant c'est que quand un site s'inscrit s'il y a une apostrophe dans sa description elle sera convertie en l\'apostrophe dans la base de donnée, mais, en revanche, si depuis l'admin du site je modifie ce caractère via la page modify_site.php le caractère génant disparait, comme je l'explique au dessus.
    Peux-t'on en déduire à 100% que c'est le script d'inscription qui bug ?
    On pourrait penser que modify_site.php fonctionne alors que submit_site.php débloque quelque part.

    NB : Pour ce qui est des anti-slaches déjà présent dans la db, j'ai essayé ce que l'on peut lire ici http://www.asp-php.net/tutorial/asp-php/glossaire.php?glossid=57 , et bien d'autres script js ou php mais rien n'y fait. Les anti-slashe présent s'accrochent à leur apostrophe comme la misère sur le pauvre monde.
    Existe t-il une requête sql pour les virer dirctement depuis la base de donnée ?
     
  3. landry
    landry WRInaute discret
    Inscrit:
    3 Mai 2006
    Messages:
    208
    J'aime reçus:
    0
    Je suis désolé de me répondre à moi même mais la fonction "Editer" n'existe pas sur ce site.
    En fait c'est bon, j'ai désactivé magic_quote via le htaccess pour le répertoire concerné, je pensais pourtant que le problème venait de la db.
    Donc de ce côté là c'est réglé.
    Entre paranthése il est sympa ce script pour savoir si magic_quote est activé ou pas :
    Code:
    <?php 
    if(get_magic_quotes_gpc()) 
      echo "Magic quotes est activé"; 
    else 
      echo "Magic quotes est désactivé"; 
    ?> 
    Source : http://www.phpsources.org/tutoriel-magicquotes.htm

    Il ne me reste plus qu'à réparer la base de donnée afin d'enlever les \ devant les '.
    Et là je n'utiliserai pas de requête "delete" sans l'avis de quelqu'un de bon conseil.
    Merci
     
  4. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 115
    J'aime reçus:
    315
    Tu as désactivé les magic quotes => c'est bien (magic quotes are evil).

    Dans ta base de donnée, les \ devant les ', c'est normal il en faut au moins un.
    Le problème c'est si tu en as plus: \\'

    C'est surement un double antislash.
    Si tu veux faire une requête SQL pr corriger tout ça, tu n'a pas de delete à faire, juste un update.
     
  5. landry
    landry WRInaute discret
    Inscrit:
    3 Mai 2006
    Messages:
    208
    J'aime reçus:
    0
    Bonsoir Spout,
    Je fais comment ?
     
  6. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 115
    J'aime reçus:
    315
  7. landry
    landry WRInaute discret
    Inscrit:
    3 Mai 2006
    Messages:
    208
    J'aime reçus:
    0
    Ah ben là je suis pas sûr du tout. :lol:
    T'as pas plus simple, ou juste un exemple de requête pour mon cas de moi. :wink:
     
  8. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 115
    J'aime reçus:
    315
    Non je n'ai pas ça sous la main, et pas envie de te donner du code à l'aveuglette / pas testé :mrgreen:
     
  9. landry
    landry WRInaute discret
    Inscrit:
    3 Mai 2006
    Messages:
    208
    J'aime reçus:
    0
  10. HawkEye
    HawkEye WRInaute accro
    Inscrit:
    23 Février 2004
    Messages:
    13 932
    J'aime reçus:
    5
    Combien d'enregistrements seraient concernés par ce double-antislash ?
    Une petite boucle php pourrait te régler ça en quelques minutes à peine...
     
  11. Zecat
    Zecat WRInaute accro
    Inscrit:
    1 Mars 2005
    Messages:
    9 176
    J'aime reçus:
    1
    Comme tu sais pas combien ont merdouillé et avec quelle ampleur (des triple slashe ...), moi je la jouerai 'bucheron' :

    tu boucles sur toute la table concerné et pour les champs concernés sans pitié :

    1 - un stripslashes
    2 - suivi d'un addslashes

    Comme ca t'es sur que le ménage est bien fait et que les caractères qui doivent avoir un \ l'ont bien. :wink: (zecat alias zebourrin) :mrgreen:

    PS : Vi vi Denis, je me suis mis a Mysql :roll: depuis 1 mois ... Tout arrive, il va même peut être neiger à Marrakech :mrgreen:
     
  12. HawkEye
    HawkEye WRInaute accro
    Inscrit:
    23 Février 2004
    Messages:
    13 932
    J'aime reçus:
    5
    S'il neige à Marrakech, je m'invite chez toi.

    Pour continuer sur la lancée, une petite boucle qui va chercher les entrées contenant "//" (donc les doubles, triples, et autres uples slashes), un petit while(eregi("[/]{2,}", $string))*, un petit replace(), et un petit UPDATE... et le tour est joué ;)



    * syntaxe à vérifier
     
  13. Zecat
    Zecat WRInaute accro
    Inscrit:
    1 Mars 2005
    Messages:
    9 176
    J'aime reçus:
    1
    Bon la on a encore un peu de marge (on doit etre a 26/27 à l'ombre l apres midi) :roll:

    Question de PHPrank1 : pourquoi tu t'embarrase d'un while alors que le strip le fait d'un seul coup (je sais, j'ai testé par force vu le boxon que j'avais semé dans mes champs :mrgreen: :mrgreen: ) ? je pige pas ?
     
  14. e-kiwi
    e-kiwi WRInaute accro
    Inscrit:
    23 Décembre 2003
    Messages:
    13 257
    J'aime reçus:
    1
    un while parcequ'il y a plusieurs enregistrements :)
     
  15. landry
    landry WRInaute discret
    Inscrit:
    3 Mai 2006
    Messages:
    208
    J'aime reçus:
    0
    Bonjour,

    Il ya 2505 enregistrements, ils ne sont pas tous concernés car les premiers s'enregistraient normalement. Mais il y a 2505 enregistrement en tout.
     
  16. Zecat
    Zecat WRInaute accro
    Inscrit:
    1 Mars 2005
    Messages:
    9 176
    J'aime reçus:
    1
    arf j'avais mal lu ...je voyais une boucle sur les caracteres ...
     
  17. landry
    landry WRInaute discret
    Inscrit:
    3 Mai 2006
    Messages:
    208
    J'aime reçus:
    0
    Ben y'a du monde !! :D
    Mais c'est justement comment je le fait le :

    Depuis un fichier.php ou directement depuis la db ?

    Le problème se pose sur la table "sites_annuaire" au niveau de "$description" puis de "$description_c"
     
  18. landry
    landry WRInaute discret
    Inscrit:
    3 Mai 2006
    Messages:
    208
    J'aime reçus:
    0
    En fait je donne la soluce, apportée par le siteduzero, au cas où quelqu'un aurait le même problème que moi :

    Code:
    UPDATE la_table SET la_colonne = REPLACE(la_colonne, '\\', '');
    Ca fonctionne parfaitement.

    Merci à tous de vous être penchés sur le problème.
     
Chargement...
Similar Threads - Supprimer anti slashes Forum Date
Supprimer la version en cache de dizaines de PDF Crawl et indexation Google, sitemaps 11 Janvier 2021
Supprimer son compte google maps pour cause d'avis négatifs YouTube, Google Images et Google Maps 10 Décembre 2020
Supprimer mon site de Similarweb ? Ou modifier les données ? Administration d'un site Web 26 Novembre 2020
RGPD : faire supprimer par Facebook l'ensemble de mes informations Droit du web (juridique, fiscalité...) 2 Novembre 2020
Search Console Supprimer des doublons Crawl et indexation Google, sitemaps 26 Octobre 2020
Contenu Obsolète supprimer ou noindex ? Débuter en référencement 16 Octobre 2020
Supprimer pages indexées Crawl et indexation Google, sitemaps 11 Octobre 2020
Supprimer des pages en moasse (avec l'accent de Gad) Crawl et indexation Google, sitemaps 5 Octobre 2020
Galère pour supprimer index.php URL Rewriting et .htaccess 12 Août 2020
Supprimer les doublons d'une table mysql Développement d'un site Web ou d'une appli mobile 16 Juin 2020