Executer une variable en php

thedeejay Messages postés 74 Date d'inscription dimanche 2 avril 2006 Statut Membre Dernière intervention 23 juin 2010 - 17 avril 2009 à 00:31
thedeejay Messages postés 74 Date d'inscription dimanche 2 avril 2006 Statut Membre Dernière intervention 23 juin 2010 - 17 avril 2009 à 18:20
Bonjour à tous, me revoila avec mes questions chiantes!

J'obtient, grace à la magie de noel, une variable $var qui contient un code html complet et du code php, du style

<html>
<head>
<?php echo $titre ?>
</head>
...

et je souhaiterais donc executer ce code et affuicher le resultat... j'ai essayé avec eval() mais cela ne marce pas...

Merci de vos futures reponses

13 réponses

Orange73 Messages postés 1375 Date d'inscription dimanche 28 novembre 2004 Statut Membre Dernière intervention 2 août 2011
17 avril 2009 à 09:23
Hello,

Euuhhh ?

echo $var ?

-- Orange73 --
"L'homme n'est pas fait pour travailler, la preuve c'est que cela le fatigue" (Voltaire)
0
Orange73 Messages postés 1375 Date d'inscription dimanche 28 novembre 2004 Statut Membre Dernière intervention 2 août 2011
17 avril 2009 à 09:23
ou print($var);

-- Orange73 --
"L'homme n'est pas fait pour travailler, la preuve c'est que cela le fatigue" (Voltaire)
0
thedeejay Messages postés 74 Date d'inscription dimanche 2 avril 2006 Statut Membre Dernière intervention 23 juin 2010
17 avril 2009 à 10:26
et ca executera le code php contenu dans la variable?

je vais essayer...
0
thedeejay Messages postés 74 Date d'inscription dimanche 2 avril 2006 Statut Membre Dernière intervention 23 juin 2010
17 avril 2009 à 10:31
non ca ne marche pas...

en fait pour simplififier je voudrai executer la variable suivante:

$var = "test test<?php echo 'templates/'.$config['design_url'].'/images'; ?> <?php echo 'templates/'.$config['design_url'].'/images'; ?>test test<?php echo 'templates/'.$config['design_url'].'/images'; ?> <?php echo 'templates/'.$config['design_url'].'/images'; ?>";

mais je n'y arrive pas :(
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Orange73 Messages postés 1375 Date d'inscription dimanche 28 novembre 2004 Statut Membre Dernière intervention 2 août 2011
17 avril 2009 à 11:44
Pourquoi réutilise tu des balises a l'intérieur de ta variable ?

ton code corrigé ressemble a cela :

$var = "test testtemplates/".$config['design_url']."/images templates/".$config['design_url']."/images".test test."templates/".$config['design_url']."/images templates/".$config['design_url']."/images";

echo $var;

-- Orange73 --
"L'homme n'est pas fait pour travailler, la preuve c'est que cela le fatigue" (Voltaire)
0
thedeejay Messages postés 74 Date d'inscription dimanche 2 avril 2006 Statut Membre Dernière intervention 23 juin 2010
17 avril 2009 à 11:46
oui, mais est-ce que je pourais integrer des codes plus complexes... gnre des includes etc.

Car c'est un systempe de remplacement de balise (genre il met (image) et ca remplace par le code du sossier image, et je voudrais comme ca aussi pour par exeple une requete mysql...)
0
Orange73 Messages postés 1375 Date d'inscription dimanche 28 novembre 2004 Statut Membre Dernière intervention 2 août 2011
17 avril 2009 à 11:52
tu peux tres bien utiliser les constantes.

Exemple :

<?php

define("CHEMIN_IMAGES", "/chemin/vers/images/");

$var = "Le chemin vers les images est : ".CHEMIN_IMAGES;

echo $var;

?>

-- Orange73 --
"L'homme n'est pas fait pour travailler, la preuve c'est que cela le fatigue" (Voltaire)
0
thedeejay Messages postés 74 Date d'inscription dimanche 2 avril 2006 Statut Membre Dernière intervention 23 juin 2010
17 avril 2009 à 12:00
non en fait je disait ca pour simplifier, mais le code de base n'est pas e php, enfin c'(est complexe...

ce que je voudrais c'est executer mon resultat.... ce n'est pas possible?? $var a forcement cet aspect quand elle arrive...
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
17 avril 2009 à 13:19
Salut,

Pour exécuter une chaîne comme étant un script c'est eval.
C'est quoi au juste qui ne marche pas avec eval ?
Peux tu fournir ce code qui ne fonctionne pas ?

$var a forcement cet aspect quand elle arrive...
=> peux tu être un peu plus précis ?

Kohntark -
0
thedeejay Messages postés 74 Date d'inscription dimanche 2 avril 2006 Statut Membre Dernière intervention 23 juin 2010
17 avril 2009 à 16:59
eh bien le code complet c'est:

$var = "test test<?php echo 'templates/'.$config['design_url'].'/images'; ?> <?php echo 'templates/'.$config['design_url'].'/images'; ?>test test<?php echo 'templates/'.$config['design_url'].'/images'; ?> <?php echo 'templates/'.$config['design_url'].'/images'; ?>"; //$var vient d'une application externe

eval($var)

et $var a forcement les balises <? car elle provient d'une application bureau en c++, et ca je n'y touche pas et je n'ai plus contacte avec le developpeur...
0
Orange73 Messages postés 1375 Date d'inscription dimanche 28 novembre 2004 Statut Membre Dernière intervention 2 août 2011
17 avril 2009 à 17:12
Tes balises, que tu dis <? sont des balises <?php (PHP) et non C++

-- Orange73 --
"L'homme n'est pas fait pour travailler, la preuve c'est que cela le fatigue" (Voltaire)
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
17 avril 2009 à 18:15
Je n'ai pas testé, mais ça devrait fonctionner moyennant un traitement préalable de la chaîne.
Le plus simple est sans doute de rendre cette chaîne la plus ... simple possible, en virant les balises <?php / ?> et donc en intégrant le HTML dans les echo.

Bref, ça risque d'être assez lourd en traitement.

Une idée qui est à mon sens bien plus facile à implémenter :
enregistrer tout simplement le code retourné par l'appli C++ dans un fichier .php que tu inclus alors dans ton code.

Cordialement,

Kohntark -
0
thedeejay Messages postés 74 Date d'inscription dimanche 2 avril 2006 Statut Membre Dernière intervention 23 juin 2010
17 avril 2009 à 18:20
hello, je pensait en effet tout traiter avant, je pense que je vais faire ca...

en fait la j'ai mis des echo, mais il y aura aussid es requetes, des boucles etc.

et je ne peux malheureusement pas faire un fichier inclus car c'est executé par des centaines de personnes à la fois, et c'est un serveur tres "faible"...
0
Rejoignez-nous