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 :

Stocker du code html dans une base [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5
    Par défaut Stocker du code html dans une base
    J'ai mis en oeuvre le tutoriel (très bien fait) sur la création d'un site dynamique avec abstraction de classe, de Guillaume Rossolini que je remercie ainsi que Pierre-Baptiste.
    Cependant, voila mon problème:
    Dans le champ "contenu" de la table "pages_lang", je souhaite utiliser des balises pour mettre en forme mon texte contenu dans la page - ex: <b>gras</b> , <a href="#">lien</a>, etc.
    Or lors du traitement les caractère "<" et ">" sont transformée en "&lt;" et "&gt;" et les balises ne sont donc pas traitées...

    D'où vient le pb?
    Mercipour votre aide!!!

  2. #2
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    tu dois utiliser une fonction telle que htmlentities ou htmlspecialchars sur ton texte qui fait la transformation...

    dans tous les cas, il est conseillé d'utiliser un système de type BBCode pour représenter le code HTML dans la BDD, comme ça ça permet d'éviter une injection de code HTML non désirée dans la BDD qui défigurerait le site...
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5
    Par défaut
    ok merci,

    donc j'ai ajouter du bbcode dans ma table.
    mais il me l'affiche tel quel...
    Maintenant pour qu'il interprète ce code comme il faut, comment je dois faire? il y a une fonction à appliquer sur le texte avant de le parser avec le template de phpbb?

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5
    Par défaut
    Pour le bbcode,j'ai essayé d'en insérer mais il n'est pas interprété et les balises sont affichées telle quel...
    Pour le html, j'ai essayé d'appliquer la fonction php "html_entity_decode()" avant de passer mes variables au template et de parser, mais cela ne change rien...
    Je me demande si ce n'ets pas le parseur de template (phpbb utilisé ici) qui converti tous caractères du type "<" et ">" en code "&lt;" et "&gt;"...

    Merci de m'aider!

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5
    Par défaut
    Me voici de retour avec une solution à mon problème.
    Au vu de l'usage prévu du site, cela devrait pour le moment suffir.
    J'ai ajouter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ob_start ("html_remplace");
    au début du fichier "tete_page.php" et à la fin du fichier "pied_page.php".

    Dans "mes-fonctions.php" j'ai ajouté:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function html_remplace($buffer){
    $recherche = array ('@&(lt|#60);@i',
                     '@&(gt|#62);@i');
     
    $remplace = array ('<',
                     '>');
     
    $text = preg_replace($recherche, $remplace, $buffer);
    return($text);
    }
    Cela reste très simpliste, mais répond globalement à mon besoin, à savoir, pouvoir mettre en forme du texte en insérant des balises simples (<b></b> , <i></i>, etc) dans la table "contenu" (cf. tutorial cité plus haut).
    L'utilisation d'expression régulières ou rationnelles devrait permettre d'améliorer cette fonction, mais je m'y connaîs assez peu dans ce domaine...

  6. #6
    Membre averti
    Profil pro
    mesureur en infiltrométrie
    Inscrit en
    Janvier 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : mesureur en infiltrométrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 21
    Par défaut
    bonjour et merci pour ce tuto !!

    J'ai un problème cependant car je n'ai ni les menus , le chemin de fer ni le contenu qui s'affichent, pourtant ma base est bonne, en fait ça ne marchait pas dès le début.... J'ai juste changé, comme pour le tuto de PB Naiegon, le "contenu" en varchar(255) en incluant donc le chemin et ça marchait.. Sinon les gabarits et les themes et la langue marche parfaitement.

    Merci de prendre 2 minutes pour me répondre..

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

Discussions similaires

  1. insertion code html dans une animation flash
    Par 3adoula dans le forum Flash
    Réponses: 2
    Dernier message: 29/08/2006, 10h12
  2. Stocker / Extraire des fichiers dans une base Access
    Par bryan_fury75 dans le forum Bases de données
    Réponses: 5
    Dernier message: 14/06/2006, 15h17
  3. [MySQL] Récupération de code php dans une base de données
    Par kitana dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 21/03/2006, 00h25
  4. [Conception] Stocker des fichiers multimédia dans une base de données
    Par haifa84 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 11/03/2006, 17h47
  5. [Conception] Code php dans une base de donnée
    Par krfa1 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 13/09/2005, 10h58

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