Du php dans une variable

Snoopy17
Invité n'ayant pas de compte PHPfrance

30 août 2005, 15:07

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 :)

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

30 août 2005, 15:10

la réponse est ici : fonction eval

Mammouth du PHP | 19672 Messages

30 août 2005, 15:11

ça génère quoi comme source html au juste ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Snoopy17
Invité n'ayant pas de compte PHPfrance

30 août 2005, 15:13

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

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

30 août 2005, 15:16

petit exemple :
<?php
$code = 'echo "date du jour : ".date(\'d/mY\');	';
eval($code);
?>
affiche :
date du jour : 30/082005
Modifié en dernier par ouckileou le 30 août 2005, 15:23, modifié 1 fois.

Invité
Invité n'ayant pas de compte PHPfrance

30 août 2005, 15:19

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 :(

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

30 août 2005, 15:22

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

Snoopy17
Invité n'ayant pas de compte PHPfrance

30 août 2005, 15:25

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

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

30 août 2005, 15:29

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); 
?>
Modifié en dernier par ouckileou le 30 août 2005, 15:33, modifié 1 fois.

Snoopy17
Invité n'ayant pas de compte PHPfrance

30 août 2005, 15:31

Je comprend pas un coup tu as $code et un autre $result[test]

explique un peux :)

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

30 août 2005, 15:33

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

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

30 août 2005, 15:34

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

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

30 août 2005, 15:38

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 ;)

Snoopy17
Invité n'ayant pas de compte PHPfrance

30 août 2005, 15:45

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 :(

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

30 août 2005, 15:46

on peut voir le code qui va avec ?