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 :

Traitement d'une chaîne avant insertion [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 65
    Par défaut Traitement d'une chaîne avant insertion
    Bonjour tout le monde,

    je suis en train de developper un plugin pour e107. Ce plugin utilise fckeditor(WYSIWYG) pour créer des articles.

    ex: je veux créer un tableau.

    code généré:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    <table width="200" cellspacing="1" cellpadding="1" border="1" align="" summary="">
        <tbody>
            <tr>
                <td>&nbsp;</td>
                <td>&nbsp;</td>
            </tr>
            <tr>
                <td>&nbsp;</td>
                <td>&nbsp;</td>
            </tr>
            <tr>
                <td>&nbsp;</td>
                <td>&nbsp;</td>
            </tr>
        </tbody>
    </table>
    jusqu'a la tout va bien. Mon souci, c'est au moment d'insérer ce code dans une base de donnée ( cette action est reservée aux admins(je suis pas fou ^^) )., ça ne marche pas !!!

    je sait pourquoi mais je sais pas comment resoudre le problème. en effet, il s'agit des guillemets double("). j'ai esayé de les remplacer par des simples(') mais ça ne marche pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $comment : le code ci-dessus
     
    $comment = str_replace(""","'",$comment);          // pas bon
    $comment = str_replace("\"","'",$comment);         // marche pas
    $comment = str_replace("&quot;","'",$comment);  // marche pas
    et oui les guillemets etant des delimiteurs de string ça fout un peu la merde !!
    je ne voit pas comment resoudre ce problème.
    Le mieux ça serait de modifier fckeditor mais je ne veu pas faire un travail de fond dessus.
    Ou alors de pouvoir faire un traitement different de la chaine.

    j'ai essayé de decrire au maximum mon problème mais si vous avez d'autre question je me tient a votre disposition.

    J'espere que l'un d'entre vous pourra m'aider.

    Cordialement,
    Yann.

  2. #2
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Salut

    Ne remplace pas ces guillemets, applique plutôt la fonction mysql_real_escape_string().

  3. #3
    Rédacteur

    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 695
    Par défaut
    Mon souci, c'est au moment d'insérer ce code dans une base de donnée ( cette action est reservée aux admins(je suis pas fou ^^) )., ça ne marche pas
    Y a-t-il un message d'erreur lié au "ça marche pas"?
    Articles sur developpez.com
    - Gestion des exceptions avec PHP5
    - Chiffrement et hash en PHP contre l'attaque Man in the middle
    - Aedituus - Espace membre sécurisé en PHP5

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 65
    Par défaut
    double bonne nouvelle -_-

    1ere bonne nouvelle:
    ça marche maintenant.
    grace a la fonction mysql_real_escape_string()


    2ème bonne nouvelle:
    je suis un boulet
    je faisait mes manipulations de chaine sur une mauvaise variable
    ( toute une matinée )

    merci a vous du fond du coeur.

  5. #5
    Membre chevronné Avatar de GregPeck
    Inscrit en
    Novembre 2005
    Messages
    530
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 530
    Par défaut
    Sinon pour info, (bien que la solution du mysql_real_escape_string soit de loin la meilleure), tu pouvais corriger tes lignes comme ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $comment = str_replace('"',"'",$comment);

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 65
    Par défaut
    erf, j'y été presque

    je faisait mes manips sur la mauvaise variable

    $comment au lieu de $content

    merci pour l'info

  7. #7
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    GregPeck : c'est une très très (très) mauvaise solution, ça :/

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 14/01/2008, 14h09
  2. [debutant]TRaitement d'une chaîne
    Par petiteso dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 13/07/2007, 16h41
  3. Réponses: 2
    Dernier message: 12/04/2007, 21h29
  4. [RegEx] Traitement d'une chaîne de caractères
    Par Youn05 dans le forum Langage
    Réponses: 4
    Dernier message: 01/04/2007, 12h18

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