Adatbázisban tárolt PHP-s tartalom feldolgozása
Sziasztok!
Egy kis segítség, vagy ötlet kellene az alábbi problémám megoldásához:
Adott egy szokásos honlap menüpontokkal. A menüpontok kiválasztása által megjelenő tartalom adatbázisban van letárolva. Egy ilyen adatcellában tehát ilyesmi szöveges adatok vannak:
A weblapok jobb oldali tartalma, minden menühöz külön le van tárolva. Ez egy külön DIV elemben jelenik meg. Minden jól működik, de néhány lapnál szükségem lenne php-s kódok használatára is. De sajnos a PHP kódot nem hajtja végre így, hanem 1:1-ben kiírja, vagy egyszerűen kihagyja. Kérdésem milyen módon lehetne megoldani, hogy az adatbázisban tárolt szövegben itt-ott előforduló PHP-s betéteket is végrehajtsa a böngésző a tartalom megjelenésekor.
A segítséget köszönöm.
■ Egy kis segítség, vagy ötlet kellene az alábbi problémám megoldásához:
Adott egy szokásos honlap menüpontokkal. A menüpontok kiválasztása által megjelenő tartalom adatbázisban van letárolva. Egy ilyen adatcellában tehát ilyesmi szöveges adatok vannak:
<BR>
<P STYLE=”font-size:12px;color:#123456;”>Szöveg...</P>
...
<P STYLE=”font-size:12px;color:#123456;”>Szöveg...</P>
...
A weblapok jobb oldali tartalma, minden menühöz külön le van tárolva. Ez egy külön DIV elemben jelenik meg. Minden jól működik, de néhány lapnál szükségem lenne php-s kódok használatára is. De sajnos a PHP kódot nem hajtja végre így, hanem 1:1-ben kiírja, vagy egyszerűen kihagyja. Kérdésem milyen módon lehetne megoldani, hogy az adatbázisban tárolt szövegben itt-ott előforduló PHP-s betéteket is végrehajtsa a böngésző a tartalom megjelenésekor.
A segítséget köszönöm.
eval
Tegyük hozzá
Köszönöm
nem jó... :(
A megjelenített php oldal forráskódja így nézett ki amikor próbáltam, és ennyit is töltöttem be az adatbázisba a teszteléshez:
<div id='KeretContent'>
eval(<?php $x = "valami"; echo $x; ?>);
</div>
<div id='KeretFooter'> </div>
az eredmény a böngészőben meg csak ennyi lett:
eval();
Más ötlet?
Talán így?
re:
Mondjuk logikus is, hogy így kellene inkább ahogy írtad! :)
Köszönöm.
Nagyon el vagy tévedve...
Nagyon el vagy tévedve, a php kódot NEM a böngésző hajtja végre, hanem szerveroldalon a php-értelmező. Tehát ha egyszer átadtad a böngészőnek a php kódot (eval-lal, vagy anélkül, tökmindegy) az már nem tud vele semmit sem csinálni, csak megjeleníteni.
Alapjaiban rossz az elgondolásod, persze valahogy biztos meg lehet oldani így is, de nem ajánlott. Ne tárolj adatbázisban php kódot!
Bonga megoldása sem fog működni. Mivel adatbázisból szeded a php kódot, ezért az egy sima string lesz, amit ugyanúgy átad a böngészőnek, az pedig megjeleníti. Megoldás lehet, hogy az adatbázisból nyert stringet adod át az eval()-nak, de ez csak akkor fog működni, ha csak php kód van benne, a html részeken ki fog akadni.