Code PHP stocké en BDD MySQL à réintégrer
Résolu
Ninja_En_Short
Messages postés
133
Date d'inscription
Statut
Membre
Dernière intervention
-
Ninja_En_Short Messages postés 133 Date d'inscription Statut Membre Dernière intervention -
Ninja_En_Short Messages postés 133 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Comme le titre peut le laissé penser j'ai du code PHP que j'ai stocké dans la BDD MySQL, ceci pour developper un petit CMS pour mes sites (je sais y en a plein mais je veux mon mien).
Mon soucis (et je oui je sais MySQL ne recrache que du texte bête et méchant) c'est qu'une fois le texte du code récupérer je n'arrive pas à le faire interpréter (je tourne avec un easyphp en ce moment).
Il est vrai que j'utilise probablement mal eval() mais je n'arrive vraiment pas à faire marcher ce truc donc j'ai besoin d'un coup de main.
Merci
Code pour le morceau à afficher :
Les fonctions qui s'en chargent (display_template et display_content) :
Et le code source que me renvoie la page :
Donc avec le PHP stocké en BDD pas du tout interprété...
Comme le titre peut le laissé penser j'ai du code PHP que j'ai stocké dans la BDD MySQL, ceci pour developper un petit CMS pour mes sites (je sais y en a plein mais je veux mon mien).
Mon soucis (et je oui je sais MySQL ne recrache que du texte bête et méchant) c'est qu'une fois le texte du code récupérer je n'arrive pas à le faire interpréter (je tourne avec un easyphp en ce moment).
Il est vrai que j'utilise probablement mal eval() mais je n'arrive vraiment pas à faire marcher ce truc donc j'ai besoin d'un coup de main.
Merci
Code pour le morceau à afficher :
<?php include_once ('./class/bdd.php'); include_once ('./class/page.php'); ?> <table width="100%"> <tr> <td> Colonne gauche </td> <td> Colonne centre<br/><br/> <?php if(isset($_GET['page']) && $_GET['page'] != "") { echo "Variable GET page :".$_GET['page']."<br/><br/>"; $page->display_content($_GET['page']); } else { echo "Page d'accueil<br/><br/>"; $page->display_content('1'); } ?> </td> <td> Colonne droite </td> </tr> </table>
Les fonctions qui s'en chargent (display_template et display_content) :
<?php include_once ('bdd.php'); include_once ('cookie.php'); include_once ('session.php'); class Page { public $title; public $html_version; public $meta; public $charset; public $css; public $lang; public $template; public $layout; /******************************************* * * $page doit être un id de page en BDD * *******************************************/ function display_template($page=NULL) { // BEGIN function content $bdd = new Bdd (); if (isset($page) && $page != "") { $query = 'SELECT * FROM pages WHERE id_page='.$page; echo $query."<br/><br/>"; $data = $bdd->get_data($query); if(isset($data['template']) && $data['template'] != "") { echo $data['template']; } else { echo "FATAL ERROR : template requis"; } }else{ echo "page par defaut"; $this->display_template('1'); } } // END function content function display_content($page=NULL) { // BEGIN function content $bdd = new Bdd (); if (isset($page) && $page != "") { try { $query = 'SELECT * FROM pages WHERE id_page='.$page; // echo $query."<br/><br/>"; $data = $bdd->get_data($query); eval($data['content']); } catch (Exception $e) { die('Error : '.$e->getMessage()); } }else{ // echo "page par defaut"; try { // include_once('./template/welcome.php'); } catch (Exception $e) { // die('Error : '.$e->getMessage()); } } } // END function content function get_basics() { $bdd = new Bdd (); $query = "SELECT * FROM site_basics"; $data = $bdd->get_data($query); /******************************************************************** * Colonnes tableau renvoyé : * id_basics : id de ligne * title : title affihcé par le navigateur * html_version : version HTML utilisée * meta (à répartir en tableau) : toutes les meta sauf le charset * charset : charset utilisé * css : chemin vers le css * language : langue affichée * layout : chemin vers le layout courant * css_version : version CSS utilisée ********************************************************************/ $this->title = $data['title']; $this->html_version = $data['html_version']; $this->charset = $data['charset']; $this->css = $data['css']; $this->lang = $data['language']; $this->layout = $data['layout']; $this->css_version = $data['css_version']; $meta_array = explode("-", $data['meta']); $this->meta = $meta_array; } } ?>
Et le code source que me renvoie la page :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <!--Richtext Javascript--> <script src="http://js.nicedit.com/nicEdit-latest.js" type="text/javascript"></script> <script type="text/javascript">bkLib.onDomLoaded(nicEditors.allTextAreas);</script> <html> <head lang="fr"> <title>Test CMS</title> <link rel="stylesheet" href="./css/default.css" /> <meta charset="utf-16" /> <meta name="description" content="Free Web tutorials"> <meta name="keywords" content="HTML,CSS,XML,JavaScript"> <meta name="author" content="Guillaume Doriat"> </head> <body> <table width="100%"> <tr> <td> </td> <td width="1280px" class="content_zone"> Page d'accueil<br/><br/>SELECT * FROM pages WHERE id_page=1<br/><br/><?php include_once ('./class/bdd.php'); include_once ('./class/page.php'); ?> <table width="100%"> <tr> <td> Colonne gauche </td> <td> Colonne centre<br/><br/> <?php if(isset($_GET['page']) && $_GET['page'] != "") { echo "Variable GET page :".$_GET['page']."<br/><br/>"; $page->display_content($_GET['page']); } else { echo "Page d'accueil<br/><br/>"; $page->display_content('1'); } ?> </td> <td> Colonne droite </td> </tr> </table> </td> <td> </td> </tr> </table> </body> </html>
Donc avec le PHP stocké en BDD pas du tout interprété...
A voir également:
- Code PHP stocké en BDD MySQL à réintégrer
- Code ascii - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code puk bloqué - Guide
- Code activation windows 10 - Guide
- Code blocks - Télécharger - Langages