"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

PHP Code aus DB auslesen - Problem

tomstig 10.10.2005 - 22:12 600 3
Posts

tomstig

OC Addicted
Avatar
Registered: Nov 2003
Location: /home/tomstig/
Posts: 1341
Also folgendes:

Für ein Art Templatesystem hol ich mir ein paar Codefetzn aus der DB. Da in dem Feld, wo der Code ist, auch einfacher Text sein kann, hab ich die Codes mit einem #php markiert (ohne <?php ?>, sonst würde eval nicht funktionieren) und check dann einfach, ob dieses #php drinsteckt => wenn ja, dann soll er das evalen.

Schaut also ca. so aus:
Code: PHP
while($data = mysql_fetch_array($query))
{
	echo '<tr><td>';
	
	if(ereg("#php", $data['aufbau']))
		eval($data['aufbau']);
	else
		echo $data['aufbau'];
	
	echo '</td></tr>';
}

Wenn die Schleife einmal durchlaufen wird und es wird eval() verwendet, funktionierts ja noch, aber beim zweiten Mal ist sense.

Jetzt meine Frage: Wie bau ich das am besten auf? Soll ich das, was aus der DB kommt (egal ob Code oder Text) in einer Variable speichern (immer mit $output .= 'xyz') und am Schluss evalen oder gibt es eine bessere Variante?
Bearbeitet von tomstig am 10.10.2005, 23:25

tomstig

OC Addicted
Avatar
Registered: Nov 2003
Location: /home/tomstig/
Posts: 1341
Fehler gefunden:
Im php-Code von $data['aufbau'] hab ich eine funktion gebastelt. Wenn ich jetzt das öfters eval, dann versucht der php interpreter die funktion öfters zu erstellen => Fehlermeldung (die interessanterweise am anfang nicht erschien) & Skriptabbruch...

file_exists() hat geholfen...

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25423
am besten keine programmlogik innerhalb eines templates ablaufen lassen.. und schon gar keinen php code.

tomstig

OC Addicted
Avatar
Registered: Nov 2003
Location: /home/tomstig/
Posts: 1341
Nein, nein, keine Sorgen ;)
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz