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

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5
    Points : 2
    Points
    2
    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 éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    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 (en bas)

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5
    Points : 2
    Points
    2
    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
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5
    Points : 2
    Points
    2
    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
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5
    Points : 2
    Points
    2
    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 à l'essai
    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
    Points : 24
    Points
    24
    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..

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    Je n'ai jamais eu de problème avec les menus et les chemins de fer, mais je dois avouer avoir progressivement fait évolué le code et depuis le mois de juillet 2006 j'aurais du mal à savoir ce qui peut causer cette erreur...

    Je n'utilise plus les bases de ce tuto depuis quelques mois déjà...
    Cependant, j'ai apporté lors du travail sur un autre projet la modif suivante au fichier de template "template.php" du tuto (phpbb):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    // ligne 227:
     
    function assign_var($varname, $varval) {
    // ancienne ligne : " $this->_tpldata['.'][0][$varname] = htmlentities($varval, $this->quote_style, $this->charset); "
    // nouvelle ligne :
    $this->_tpldata['.'][0][$varname] = html_entity_decode($varval, $this->quote_style, $this->charset);
    return true;	}
    Cela m'a permis d'éviter d'utiliser le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ob_start ("html_remplace");
    En espérant que cela pourra aider...

  8. #8
    Membre à l'essai
    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
    Points : 24
    Points
    24
    Par défaut
    bonjour,

    alors jai réessayé le script original avec sa base sans changements et effectivement les menus ne s'affichent pas et le chemin de fer non plus à part bien sur le : "vous êtes ici".. Les gabarits, langues et themes fonctionnent parfaitement eux.

    Il n'y a pourtant aucune modif à faire au départ pour que cela marche ??

    Merci d'avance..

+ 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