Archief - PHP: php code uitvoeren die in MySQL opgeslagen is

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

tag

Legacy Member
Iep,

ben een CMS aan't brouwen. Ik sla stukken inhoud op in een MySQL DB, combineer die met template files en spuw dan mooie xhtml uit.

Dit sla ik bijvoorbeeld op
<h1>Goodbye <?php echo "cruel";?> world</h1>

output als ik vraag : echo $rs->blockContent : Goodbye World.

in de source zie ik effectief wel <?php echo "cruel";?> staan, maar die wordt dus niet geëvalueerd.

Ik heb zitten spelen met eval(), maar nog geen resultaat.

Iemand een idee?

thx.

<t>

0n3Liner

Legacy Member
ik denk niet dat het zo slim is om dat op te slaan in je myusql db, kan je niet bv ipv <?php echo "cruel";?> gewoon <% CRUEL %> zetten ofzo en dat dan laten vervangen door $cruel ?

tag

Legacy Member
of het slim is, doet er eigenlijk niet toe. Ik wil uiteindelijk graag weten *waarom* het niet werkt en wat er aan kan worden gedaan.

Op dit ogenblik zit ik met een strakke deadline om een quick-and-dirty oplossing te presenteren. Ik moet bijvoorbeeld, *onder andere* een aantal servervariabelen includen, en ik wil mijn brok tekst met daarin <?= $_SERVER['REQUEST_URI']?> en anderen includen. Maar nu gaat dat dus niet...

<t>

tag

Legacy Member
Ok, volgende keer dus effectief *elke* comment van de php manual *grondig* checken.

Voor wie interesse heeft : ik wilde dus html + php in zijn geheel evalueren. Onderstaande code doet dit perfect:

$tmpstring = haalInhoudUitDB();
$tmpfname = tempnam ("/tmp", "FOO");
$fp = fopen($tmpfname, "w");
fwrite($fp, $tmpstring);
fclose($fp);
include($tmpfname);
unlink($tmpfname);

Cheers.
<t>

killgore

Legacy Member
oftewel:

preg_replace("#\<\?(.*?)\?\>#s","eval('\\1')",$uwstring);
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan