Ninja_En_Short
Messages postés133Date d'inscriptionmercredi 19 septembre 2007StatutMembreDernière intervention27 juin 2014
-
5 juil. 2012 à 22:14
Ninja_En_Short
Messages postés133Date d'inscriptionmercredi 19 septembre 2007StatutMembreDernière intervention27 juin 2014
-
6 juil. 2012 à 19:14
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.
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;
}
}
?>