Stocker du code PHP dans un record MySQL

Le probleme lorsque l'on stocke du php dans le champ d'un enregistrement dans la base de données, c'est qu'il est ensuite nécessaire de l'éxecuter via l'interpréteur php une fois qu'il est récupérer.

La technique classique est :
<?php
    eval($content);
?>

Mais si le contenu du champ est un mix entre du php et du html, la fonction eval renverra une erreur, le contexte de lecture etant celui d'instruction php. Pour résoudre le problème, il faut ajouter ?> devant le contenu pour terminé le contexte php.

Par exemple, si votre champ mysql contient :

coucou, on est le <?php echo date('d'); ?>

le code php interpretant ce contenu devra être :

<?php
     eval('?>' . $contenu);
?>

Votre avis : Stocker du code PHP dans un record MySQL

  1. Nicolas F.

    Je trouve cela tout de même un peu risqué, d'autant qu'on obtient le même résultat en faisant l'include d'un fichier (tout webmaster a un logiciel FTP).

  2. Nicolas

    Le cas présenté est simpliste, mais cela peut s'avérer très pratique lorsque vous publiez des news sur un site marchand. Vous pouvez ainsi inclure des informations issue directement de la base produit. En particulier, le prix qui sera ainsi mis à jour automatiquement. Cette technique s'intègre plutôt dans le cadre d'une admin interne, je ne dis pas qu'il faut proposer cette facilité sur une plateforme de blog par exemple.

    j'utilise cette technique la : http://www.piscine-pratique.fr/pompe.htm , cela me permet facilement a travers une unique admin de mettre en avant les produits qui correspondent au contenu. La base de données est mise à jour quotidiennement.

  3. julito

    Merci !!!!!! Fallait la trouver celle la :)