par
[ced] » 15 mai 2008, 11:28
Je ne comprend pas l'erreur obtenu avec la fonction eval() .
J'ai une formule que je souhaite interpréter. ($resultat = $valeur + 2)
Voici mes tests (pour chaque test : $valeur = 10) :
1 - Code de la formule en dur dans le code:
$formule = "\$resultat = $valeur+ 2;";
echo '<pre>'; var_dump($formule ); echo '</pre>';
eval($formule);
print "<p>resultat = ".$resultat ."</p>";
Résultat CORRECT :
string(14) "$resultat = 10 + 2;"
resultat = 12
2 - Une partie du code de la formule est récupéré dans une Base de Donnée. (A savoir : $formule = $valeur+ 2).
echo '<pre>'; var_dump($formule); echo '</pre>';
$formule= "\$resultat = " . $formule. ";";
echo '<pre>'; var_dump($formule); echo '</pre>';
eval($formule);
print "<p>resultat = ".$resultat ."</p>";
Résultat NON CORRECT
string(22) "$valeur+ 2"
string(30) "$resultat = $valeur+ 2;"
Parse error: syntax error, unexpected '/' in D:\XXX.php(101) : eval()'d code on line 1
resultat =
Quelq'un a t-il un avis sur mon PROBLEME SVP???
Je ne comprend pas l'erreur obtenu avec la fonction eval() .
J'ai une formule que je souhaite interpréter. ($resultat = $valeur + 2)
Voici mes tests (pour chaque test : $valeur = 10) :
1 - Code de la formule en dur dans le code:
[php]$formule = "\$resultat = $valeur+ 2;";
echo '<pre>'; var_dump($formule ); echo '</pre>';
eval($formule);
print "<p>resultat = ".$resultat ."</p>";[/php]
Résultat CORRECT :
[php]string(14) "$resultat = 10 + 2;"
resultat = 12[/php]
2 - Une partie du code de la formule est récupéré dans une Base de Donnée. (A savoir : $formule = $valeur+ 2).
[php]echo '<pre>'; var_dump($formule); echo '</pre>';
$formule= "\$resultat = " . $formule. ";";
echo '<pre>'; var_dump($formule); echo '</pre>';
eval($formule);
print "<p>resultat = ".$resultat ."</p>";[/php]
Résultat NON CORRECT
[php]string(22) "$valeur+ 2"
string(30) "$resultat = $valeur+ 2;"
Parse error: syntax error, unexpected '/' in D:\XXX.php(101) : eval()'d code on line 1
resultat = [/php]
Quelq'un a t-il un avis sur mon PROBLEME SVP???