|
Voir le sujet précédent :: Voir le sujet suivant
|
| Auteur |
Message |
| |
|
tryan WRInaute accro

Inscrit le: 20 Fév 2005 Messages: 1249 Localisation: Planete terre
|
Posté le : Jeu Avr 03, 2008 10:03 Sujet du message: Comment enregister du code php dans sql? |
|
|
Bonjour,
J'essaye en vint d'enregistrer du code php dans ma base et de le faire exécuter lors de son affichage et je ni parviens pas !
Genre j'enregistre en bd le code suivant via un textarea avec htmlentities():
| Code: |
<strong>Teste d'un code php.</strong><br/>
<?php
$salut="bonjour";
echo "$salut";
?> |
Je décode dans ma page avec html_entity_decode() et la le code php n'est pas interprété. Je regarde le code source de ma page via Firefox et je vois mon code php écrit telle que je l'ai enregistré ...
Peut on enregistrer du php dans sql et si oui comment svp ?
Merci. |
|
| |
|
 |
Bacteries WRInaute accro

Inscrit le: 27 Mai 2004 Messages: 1160 Localisation: France - Nantes
|
Posté le : Jeu Avr 03, 2008 10:06 Sujet du message: Comment enregister du code php dans sql? |
|
|
Ouh la...
Le problème c'est pas SQL, mais c'est interpréter ton PHP. Quand tu récupère ta donnée SQL t'as du texte.
Donc si tu fais un print ça t'affiche le texte.
Utilise la fonction "eval" pour ça (jamais utilisé, mais c'est la fonction à utiliser pour ça) : http://www.manuelphp.com/php/function.eval.php |
|
| |
|
 |
silef WRInaute occasionnel

Inscrit le: 13 Jan 2006 Messages: 203
|
Posté le : Jeu Avr 03, 2008 10:13 Sujet du message: Comment enregister du code php dans sql? |
|
|
| eval est bien la solution à utiliser même si je ne l'ai jamais vraiment apprécié. Sinon autre feinte, tu fais des enregistrement dans des fichiers et tu appeles ton code par des include, c'est certes plus bourrin mais tu oublies plein de soucis comme ça. |
|
| |
|
 |
tryan WRInaute accro

Inscrit le: 20 Fév 2005 Messages: 1249 Localisation: Planete terre
|
Posté le : Jeu Avr 03, 2008 11:50 Sujet du message: Comment enregister du code php dans sql? |
|
|
Merci les gars mais la je suis un peut largué ..
J'ai regardé la fonction "eval" mais je ne comprend pas comment l'utiliser!
Moi je tape mon code directement dans un textarea . Si je reprend le code sur http://www.manuelphp.com/php/function.eval.php , que je fait copier/coller dans mon textarea, j'ai une partie du code qui s'affiche... bref, je ne saisie pas la façon de l'utiliser depuis mon interface!
silef, je n'ai pas comprit ton système d'include ... si je fais l'appel d'une include en insérant le code via mon textarea par exemple
| Code: |
| <?php include ("menu.php");?> |
..J'obtiens le même résultat .. rien ne s'affiche et le code est visible dans la source.
Vous pouvez pousser un peut plus au niveau détails pour un amateur svp?
Merci |
|
| |
|
 |
nickargall WRInaute accro

Inscrit le: 13 Juin 2005 Messages: 4039 Localisation: Exilé au Groland à cause de Joe Dalton
|
Posté le : Jeu Avr 03, 2008 12:25 Sujet du message: Comment enregister du code php dans sql? |
|
|
Encore toi ?
Appelons $moncodephp la variable qui contient le code php provenant de l'enregistrement présent dans ta base de données.
| Code: |
<?
eval( "\$moncodephp = \"$moncodephp\";" );//
?>
|
... |
|
| |
|
 |
Bacteries WRInaute accro

Inscrit le: 27 Mai 2004 Messages: 1160 Localisation: France - Nantes
|
Posté le : Jeu Avr 03, 2008 13:04 Sujet du message: Comment enregister du code php dans sql? |
|
|
tryan> Si tu n'es pas un peu calé en PHP je te déconseille fortement d'utiliser ce genre de solution.
Pourquoi as tu besoin de faire cela? |
|
| |
|
 |
tryan WRInaute accro

Inscrit le: 20 Fév 2005 Messages: 1249 Localisation: Planete terre
|
Posté le : Jeu Avr 03, 2008 13:33 Sujet du message: Comment enregister du code php dans sql? |
|
|
| nickargall a écrit: |
| Encore toi ? |
Bhaaa ouai , désolé .
Sa ressemble à ce que j'ai mis en place :
Pour afficher mes données je fais:
| Code: |
| <?php echo html_entity_decode($page['contenue_de_la_page']); ?> |
Pour utiliser eval() je fais comme suit:
| Code: |
<?php
$lien = $page['contenue_de_la_page'];
eval("\$lien = \"$lien\";");
echo html_entity_decode($lien);
?>
|
Si je met cela dans mon textarea:
| Code: |
<strong>Teste d'un code php.</strong><br/><?php
$salut="bonjour";
echo "$salut";
?>
<br>
<?php include ("menu.php");?> |
J'ai juste Teste d'un code php. qui s'affiche et rien d'autre.
Un petit tour dans le code source de la page et je vois ceci:
| Code: |
<strong>Teste d'un code php.</strong><br/>
<?php
="bonjour";
echo "";
?>
<br>
<?php include ("menu.php");?>
|
J'ai merdé quelque part ?
Bacteries, non je suis loin d'être calé dans le domaine mais j'essaye quand même.
J'essaye de rendre un de mes sites dynamique en créant une interface d'administration pour enregistrer ensuite en bd toutes mes données.
Pour démontrer ce que peut faire telle ou telle code php, j'ai besoin de l'enregistrer puis de l'interpréter ou ne serait ce que pour une simple include servant pour plusieurs pages. |
|
| |
|
 |
nickargall WRInaute accro

Inscrit le: 13 Juin 2005 Messages: 4039 Localisation: Exilé au Groland à cause de Joe Dalton
|
Posté le : Jeu Avr 03, 2008 13:44 Sujet du message: Comment enregister du code php dans sql? |
|
|
Solution plus simple et plus sécurisée: au lieu de stocker ton code php dans une base de donnée et te casser la tête pour l'appeler et l'interpréter, pourquoi ne les stocke tu pas dans des fichiers PHP à part, que tu appelles simplement par include ensuite ?
Ton fichier "bonjour.php" contient
| Code: |
<strong>Teste d'un code php.</strong><br/><?php
$salut="bonjour";
echo "$salut";
?>
<br>
<?php include ("menu.php");?>
|
et tu fais appel à un include pour l'appeler, non ? Ca serait beaucoup plus simple et beaucoup plus sécure à mon sens ... |
|
| |
|
 |
KOogar WRInaute accro

Inscrit le: 16 Nov 2004 Messages: 3027 Localisation: Bangalore +4h30
|
Posté le : Jeu Avr 03, 2008 13:50 Sujet du message: Comment enregister du code php dans sql? |
|
|
Les datas php sont dans le cache et ne seront jamais interprétés.
Pour les interpreter :
- injecter les datas php dans mysql
- faire une lecture + écriture (fwrite) dans un nouveau fichier php xxxx
- lancer un header sur le meme script qui inclue cette fois le fichier php xxxx écrit physiquement
- destruction du fichier xxxx |
|
| |
|
 |
Bacteries WRInaute accro

Inscrit le: 27 Mai 2004 Messages: 1160 Localisation: France - Nantes
|
Posté le : Jeu Avr 03, 2008 13:55 Sujet du message: Comment enregister du code php dans sql? |
|
|
| tryan> je vois pas pour autant pourquoi tu passes par ce genre de chose assez complexe. A mon avis tu as certainement moyen de faire des choses bien plus simplement. |
|
| |
|
 |
tryan WRInaute accro

Inscrit le: 20 Fév 2005 Messages: 1249 Localisation: Planete terre
|
Posté le : Jeu Avr 03, 2008 14:22 Sujet du message: Comment enregister du code php dans sql? |
|
|
nickargall: et je fais comment pour faire une include des fichiers extérieure depuis mon interface puisque le faite d'enregistrer juste <?php include ("menu.php");?> dans ma bd ne fonctionne pas non plus ?
KOogar: je prend un décodeur et j'essaye de comprendre ta méthode . Sa veut dire quoi sa -> (injecter les datas php dans mysql )?
Bacteries:Je ne vois pas comment faire plus simple ! Si tu as d'autres idées à me proposer n'hésite pas. Le html/css/script semble passer correctement .. il y a juste le php qui m'e*m*rde ! |
|
| |
|
 |
nickargall WRInaute accro

Inscrit le: 13 Juin 2005 Messages: 4039 Localisation: Exilé au Groland à cause de Joe Dalton
|
Posté le : Jeu Avr 03, 2008 14:28 Sujet du message: Comment enregister du code php dans sql? |
|
|
oulà
c'est encore pire que pour le rewriting ..
apprends le php
... |
|
| |
|
 |
Bacteries WRInaute accro

Inscrit le: 27 Mai 2004 Messages: 1160 Localisation: France - Nantes
|
Posté le : Jeu Avr 03, 2008 14:29 Sujet du message: Comment enregister du code php dans sql? |
|
|
Explique plus en détail ce que tu veux faire, car là je ne vois pas du tout l'intérêt de la chose.
| Citation: |
J'essaye de rendre un de mes sites dynamique en créant une interface d'administration pour enregistrer ensuite en bd toutes mes données.
Pour démontrer ce que peut faire telle ou telle code php, j'ai besoin de l'enregistrer puis de l'interpréter ou ne serait ce que pour une simple include servant pour plusieurs pages. |
C'est pour faire des tutoriels PHP? (en gros?) |
|
| |
|
 |
tryan WRInaute accro

Inscrit le: 20 Fév 2005 Messages: 1249 Localisation: Planete terre
|
Posté le : Jeu Avr 03, 2008 15:02 Sujet du message: Comment enregister du code php dans sql? |
|
|
| nickargall a écrit: |
oulà
c'est encore pire que pour le rewriting ..
apprends le php
... |
Je l'attendais celle la ! Dommage qu'il n'y ai pas la même espace dédier au php que pour le référencement :
| Citation: |
Débuter en référencement
L'objectif de ce forum est de permettre aux nouveaux de poster des messages sans craindre de se faire dire "on l'a déjà dit 100 fois dans ce forum !". Avis à tous ceux qui débutent, ou qui ont des questions de base sur le référencement : c'est ici qu'il faut les poser. |
Sa éviterais ce genre de remarque ...
Bacteries:
Dans les détails, je ne peux pas faire plus simple. Je me suis crée une interface en php (même si je suis encore plus nul que pour le rewriting) afin de créé les pages de mon site de façon dynamique. Donc tout est enregistré en bd (meta+contenue). Supposons maintenant que je veuille créer sur une partie de mon site un lexique quelconque classé par ordre alphabétique comportant un menu commun à l'ensemble des pages .. il me faut bien faire une include sur cette partie pour éviter de me retaper tout à la main sur chacune des pages. |
|
| |
|
 |
KOogar WRInaute accro

Inscrit le: 16 Nov 2004 Messages: 3027 Localisation: Bangalore +4h30
|
Posté le : Jeu Avr 03, 2008 15:12 Sujet du message: Comment enregister du code php dans sql? |
|
|
| tryan a écrit: |
KOogar: je prend un décodeur et j'essaye de comprendre ta méthode . Sa veut dire quoi sa -> (injecter les datas php dans mysql )?
|
Prend un décodeur PHP
"injecter les datas php dans mysql" dans un plus commun veut dire:
"stocker ou placer des enregistrements (des données) dans des tables mysql". |
|
| |
|
 |
| |
|
|