JeuWeb - Crée ton jeu par navigateur
[réglé] Exécuter un calcul contenu dans une chaîne (eval ?) - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [réglé] Exécuter un calcul contenu dans une chaîne (eval ?) (/showthread.php?tid=1597)

Pages : 1 2 3


RE: Exécuter une chaîne (eval ?) - joshua - 16-08-2007

Et si tu le mets dans un fichier de config en local sur ton serveur?


RE: Exécuter une chaîne (eval ?) - Shidame - 16-08-2007

Il faut que tu utilises la fonction eval(), pour "transformer" et interpreter une chaine de caractère en php.
http://fr3.php.net/eval


RE: Exécuter une chaîne (eval ?) - nemesis_elite - 16-08-2007

Ouai merci, je sais comment l'utiliser. mais ça marche quand même pas !

Je pense que je vais devoir le mettre dans un fichier de config.


RE: Exécuter une chaîne (eval ?) - Shidame - 16-08-2007

Etrange que cela ne fonctionne pas avec eval(), as tu fais ainsi? :
Code PHP :
<?php 
// On change les noms des caractéristique par leur valeur
$force=15;
$constitution=12;

// Requête qui va chercher la formule pour calculer les PdV
$sFormule = ... SELECT .... dont le retour est : 50+($force+$constitution-20);

eval(
"\$sResultat = \"$sFormule\";");

echo
$sResultat;



RE: Exécuter une chaîne (eval ?) - nemesis_elite - 16-08-2007

Ecoute, je viens de tester exactement ton code, et ça m'affiche toujours le calcul.
Code :
10+15+2*12

Bizarre non ?


RE: Exécuter une chaîne (eval ?) - denisc - 16-08-2007

essaie ça:
Code PHP :
<?php 
eval("$$sResultat = $sFormule;");



RE: Exécuter une chaîne (eval ?) - nemesis_elite - 16-08-2007

Toujours rien
Code :
Notice: Undefined variable: sResultat in d:\php\form.php on line 13

Parse error: parse error, expecting `T_VARIABLE' or `'$'' in d:\php\form.php(13) : eval()'d code on line 1

Notice: Undefined variable: sResultat in d:\php\form.php on line 15

ligne 13, c'est le eval
et ligne 15 c'est
echo $sResultat;


RE: Exécuter une chaîne (eval ?) - denisc - 16-08-2007

essaie ça:
Code PHP :
<?php

$force
=15;
$constitution=12;
$sFormule='50+($force+$constitution-20);';

echo
$sFormule.'<br>';

eval(
'$sresultat='.$sFormule);

echo
$sresultat.'<br>';



?>



RE: Exécuter une chaîne (eval ?) - Shidame - 16-08-2007

Je pense que c'est un problème de typage, la formule est une chaine de caractère...


RE: Exécuter une chaîne (eval ?) - nemesis_elite - 16-08-2007

Ahh ça marche Smile
Bien joué denisc !

Il suffisait de faire ça:
Code PHP :
<?php 
eval('$sResultat='.$sFormule.';');
echo
$sResultat;

En tous cas, je vous remercie tous pour votre aide Smile

NemeSiS_eliTe, content ^^