Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1136 connectés 

 


Dernière réponse
Sujet : [PHP] Eval qui n'evalue pas les tableaux :(
JBs Salut, ca fait 2 jours que je me prends la tete sur un tout petit bout de script qui genere une varaible contenant uniquement du HTML et des variables $mavar.
J'evalue la variable avec eval(); mais le probleme c'est que toutes les variables présentes $mavar (qui sont en fait un tableau) sont interprétées comme ARRAY, ce qui ne renvoie pas le bon résultat.
 
Voila un petit exemple :
Contenu initial de la variable : <HEAD><TITLE>$this->_tpldata['.'][0]['titreprincpg']</TITLE>
 
Premiere interpretation : <HEAD><TITLE>Array['.'][0]['titreprincpg']</TITLE>
 
LE tableau est quant à lui normalement constitué, aucun probleme de ce coté la car lorsque je fais un echo $this->_tpldata['.'][0]['titreprincpg'], j'ai la bonne valeur qui s'affiche à l'ecran.
 
Il faut savoir que ce script est normalement fait pour ecrire tout ce qui a ete généré dans une page .html qui est enregistrée sur le site.
 
VOila le code que j'utilise :  
$contenu_fichier = preg_replace('#\{([a-z0-9\-_]*?)\}#is', '\$this->_tpldata[\'.\'][0][\'\\1\']', $contenu_fichier);
$contenu_fichier = addcslashes($contenu_fichier, "\"" );
eval( "\$finalval = \"$contenu_fichier\";" );
$finalval = stripcslashes($finalval);
 
Si vous avez des idée sur ce qui ne va pas ?
Merci d'avance

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
JBs Salut, ca fait 2 jours que je me prends la tete sur un tout petit bout de script qui genere une varaible contenant uniquement du HTML et des variables $mavar.
J'evalue la variable avec eval(); mais le probleme c'est que toutes les variables présentes $mavar (qui sont en fait un tableau) sont interprétées comme ARRAY, ce qui ne renvoie pas le bon résultat.
 
Voila un petit exemple :
Contenu initial de la variable : <HEAD><TITLE>$this->_tpldata['.'][0]['titreprincpg']</TITLE>
 
Premiere interpretation : <HEAD><TITLE>Array['.'][0]['titreprincpg']</TITLE>
 
LE tableau est quant à lui normalement constitué, aucun probleme de ce coté la car lorsque je fais un echo $this->_tpldata['.'][0]['titreprincpg'], j'ai la bonne valeur qui s'affiche à l'ecran.
 
Il faut savoir que ce script est normalement fait pour ecrire tout ce qui a ete généré dans une page .html qui est enregistrée sur le site.
 
VOila le code que j'utilise :  
$contenu_fichier = preg_replace('#\{([a-z0-9\-_]*?)\}#is', '\$this->_tpldata[\'.\'][0][\'\\1\']', $contenu_fichier);
$contenu_fichier = addcslashes($contenu_fichier, "\"" );
eval( "\$finalval = \"$contenu_fichier\";" );
$finalval = stripcslashes($finalval);
 
Si vous avez des idée sur ce qui ne va pas ?
Merci d'avance

Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR