Page 1 sur 2
Du php dans une variable
Posté : 30 août 2005, 15:07
par Snoopy17
Salut à tous
J'ai un formulaire ou je rentre ce que je veux et ca va dans ma base de donnée.
Je rentre donc : <input type="hidden" name="DATAS" value="<?php echo $_GET['id']; ?>">
Sans rien touche cette informations va dans ma base de donnée.
Ensuite j'ai une page lire.php qui va lire ce que j'ai enregistré dans ma base de donnée donc elle va lire :
<input type="hidden" name="DATAS" value="<?php echo $_GET['id']; ?>">
Pour lire ceci j'ai fais :
<?php echo $result2['test']; ?>
Le probleme c'est que le code html est bien lu et interpreter mais pas le code php
Comment faire pour que lui aussi soit interpreter ?
Merci d'avance c'est important pour moi

Posté : 30 août 2005, 15:10
par ouckileou
la réponse est ici :
fonction eval
Posté : 30 août 2005, 15:11
par Cyrano
ça génère quoi comme source html au juste ?
Posté : 30 août 2005, 15:13
par Snoopy17
ca genere :
<input type="hidden" name="DATAS" value="<?php eval('echo $_GET['id']'); ?>">
ouckileou >> je comprend pas comment je dois l'utiliser
Merci d'avance
Posté : 30 août 2005, 15:16
par ouckileou
petit exemple :
<?php
$code = 'echo "date du jour : ".date(\'d/mY\'); ';
eval($code);
?>
affiche :
date du jour : 30/082005
Posté : 30 août 2005, 15:19
par Invité
petit exemple :
<?php
$code = 'echo "date du jour : ".date(\'d/mY\'); ';
eval($code);
?>
Et dans mon exemple ca donnerai

?
car je ne comprend ou je dois placer ton code

Posté : 30 août 2005, 15:22
par ouckileou
tu as testé l'exemple ?
la variable $code contient du code PHP, et eval() l'interpréte
donc comme dans $code il y a un echo il fait le echo de date()
Je ne vois pas comment expliquer plus, tu récupères une variable avec le code en base de données, donc à partir de là c'est pareil dans ton script :
sauf que tu devra a priori mettre tout le code (même le HTML) dans un echo pour que ça marche
Posté : 30 août 2005, 15:25
par Snoopy17
J'ai essayer en mettant :
<?php echo eval($result2['test']); ?>
Ca ne marche pas il me dit erreur !
pourtant $result2['test'] contient :
<input type="hidden" name="DATAS" value="<?php echo $_GET['id']; ?>">
merci de votre aide
Posté : 30 août 2005, 15:29
par ouckileou
oui car comme je l'ai dit eval() interprète du PHP, et là tu as du HTML
fais un test simple :
<?php
$code = 'echo "<input type=\"hidden\" name=\"DATAS\" value=\"".$_GET[\'id\']."\">";';
eval($code);
?>
Posté : 30 août 2005, 15:31
par Snoopy17
Je comprend pas un coup tu as $code et un autre $result[test]
explique un peux

Posté : 30 août 2005, 15:33
par ouckileou
Je comprend pas un coup tu as $code et un autre $result[test] explique un peux

attend tu rigoles ou quoi
$code c'est une variable tu l'appelles comme tu veux, c'est juste pour stocker le code PHP pour l'exemple
c'est toi qui as $result[test] dans ton code à toi, alors adapte c'est tout... la difficulté n'est pas là
le code PHP est stocké dans une variable
eval() exécute le code de cette variable
Posté : 30 août 2005, 15:34
par ouckileou
j'ai édité l'exemple
test d'abord dans un exemple simple avant de récupérer le code PHP de ta base de données
Posté : 30 août 2005, 15:38
par ouckileou
appliquons l'exemple à ton code
on part du principe que la colonne de la base de données contient ça :
Code : Tout sélectionner
echo "<input type=\"hidden\" name=\"DATAS\" value=\"".$_GET[\'id\']."\">";
$requete = "SELECT test FROM table WHERE id = 1";
$exec = mysql_query($requete);
$result2 = mysql_fetch_array($exec);
eval($result2['test']);
si tout va bien, tu devrais avoir dans le code source HTML ton champ hidden affiché comme il faut

Posté : 30 août 2005, 15:45
par Snoopy17
non j'ai une erreur
Code : Tout sélectionner
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /home2/g/*********/www/fr/dl_kit.php(96) : eval()'d code on line 1
Parse error: parse error, unexpected $ in /home2/g/************/www/fr/dl_kit.php(96) : eval()'d code on line 1
Je sais pas d'ou ca vient

Posté : 30 août 2005, 15:46
par ouckileou
on peut voir le code qui va avec ?