convertir du code php stocké dans une table mysql

Petit nouveau ! | 1 Messages

27 août 2019, 10:43

Bonjour à tous,

j'ai un code (php + javascript) stocké dans un champs de ma table et je souhaite interpréter la partie php.
j'ai essayé avec la fonction eval() mais sans succès.

Voici mon code php qui est stocké dans la base de données :

Code : Tout sélectionner

var quid = <?php echo $quid; ?>; var options = { chart: { // height: 350, type: bar, stacked: true, title: { text: "<?php echo $questions[$dbid]['name']; ?>" }, }};

Je souhaiterais interpréter que la partie php, y a t'il un moyen ?

j'ai aussi tenter d'utiliser ces deux fonctions mais sans succès :

Code : Tout sélectionner

function exec_php($php_string) { return preg_replace_callback( '/<\?(?:php)?(.*)\?>/m', 'exec_php_embed', $string ); } function exec_php_embed(array $args) { if (count($args) != 2) { return ''; } list(,$code) = $args; ob_start(); eval($code); return ob_get_clean(); }
Merci pour votre aide

Mammouth du PHP | 2703 Messages

27 août 2019, 12:58

2 appels de https://www.php.net/manual/fr/function.str-replace.php devrait faire l'affaire.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

30 août 2019, 20:00

Je ne connais pas les contraintes de ton application, mais c'est contraire aux bonnes pratiques de stocker du code pPHP en base de donner et de vouloir l'exécuter ensuite.
C'est prendre beaucoup de risques de sécurité.
A mon avis il faudrait peut être réfléchir à changer l'architecture/la façon de faire pour ne pas avoir de cas comme celà.
Quand tout le reste a échoué, lisez le mode d'emploi...