Comment enregister du code php dans sql?

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics


tryan
WRInaute accro
WRInaute accro
 
Messages: 1543
Inscription: Dim Fév 20, 2005 14:14

Comment enregister du code php dans sql?

Message le Jeu Avr 03, 2008 10:03

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: Tout sélectionner
<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
WRInaute accro
 
Messages: 1333
Inscription: Jeu Mai 27, 2004 13:04

Message le Jeu Avr 03, 2008 10:06

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
WRInaute occasionnel
 
Messages: 228
Inscription: Ven Jan 13, 2006 14:53

Message le Jeu Avr 03, 2008 10:13

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
WRInaute accro
 
Messages: 1543
Inscription: Dim Fév 20, 2005 14:14

Message le Jeu Avr 03, 2008 11:50

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: Tout sélectionner
<?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
WRInaute accro
 
Messages: 5333
Inscription: Lun Juin 13, 2005 14:13

Message le Jeu Avr 03, 2008 12:25

Encore toi ?

Appelons $moncodephp la variable qui contient le code php provenant de l'enregistrement présent dans ta base de données.

Code: Tout sélectionner
<?
eval( "\$moncodephp = \"$moncodephp\";" );//
?>

...


Bacteries
WRInaute accro
WRInaute accro
 
Messages: 1333
Inscription: Jeu Mai 27, 2004 13:04

Message le Jeu Avr 03, 2008 13:04

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
WRInaute accro
 
Messages: 1543
Inscription: Dim Fév 20, 2005 14:14

Message le Jeu Avr 03, 2008 13:33

nickargall a écrit:Encore toi ?

Bhaaa ouai , désolé :lol: .

Sa ressemble à ce que j'ai mis en place :
Pour afficher mes données je fais:
Code: Tout sélectionner
<?php echo html_entity_decode($page['contenue_de_la_page']); ?>

Pour utiliser eval() je fais comme suit:
Code: Tout sélectionner
<?php
$lien = $page['contenue_de_la_page'];
eval("\$lien = "$lien";");
echo html_entity_decode($lien);
?>


Si je met cela dans mon textarea:
Code: Tout sélectionner
<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: Tout sélectionner
<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
WRInaute accro
 
Messages: 5333
Inscription: Lun Juin 13, 2005 14:13

Message le Jeu Avr 03, 2008 13:44

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: Tout sélectionner
<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
WRInaute accro
 
Messages: 3339
Inscription: Mar Nov 16, 2004 18:27

Message le Jeu Avr 03, 2008 13:50

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
WRInaute accro
 
Messages: 1333
Inscription: Jeu Mai 27, 2004 13:04

Message le Jeu Avr 03, 2008 13:55

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
WRInaute accro
 
Messages: 1543
Inscription: Dim Fév 20, 2005 14:14

Message le Jeu Avr 03, 2008 14:22

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 :lol: . 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
WRInaute accro
 
Messages: 5333
Inscription: Lun Juin 13, 2005 14:13

Message le Jeu Avr 03, 2008 14:28

oulà

c'est encore pire que pour le rewriting ..
apprends le php
...


Bacteries
WRInaute accro
WRInaute accro
 
Messages: 1333
Inscription: Jeu Mai 27, 2004 13:04

Message le Jeu Avr 03, 2008 14:29

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.

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
WRInaute accro
 
Messages: 1543
Inscription: Dim Fév 20, 2005 14:14

Message le Jeu Avr 03, 2008 15:02

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 :
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
WRInaute accro
 
Messages: 3339
Inscription: Mar Nov 16, 2004 18:27

Message le Jeu Avr 03, 2008 15:12

tryan a écrit:KOogar: je prend un décodeur et j'essaye de comprendre ta méthode :lol: . Sa veut dire quoi sa -> (injecter les datas php dans mysql )?


Prend un décodeur PHP :D

"injecter les datas php dans mysql" dans un plus commun veut dire:
"stocker ou placer des enregistrements (des données) dans des tables mysql".

Comment enregister du code php dans sql?

Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Google Adsense [Bot] et 0 invités