Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
PHP Code aus DB auslesen - Problem [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
PHP Code aus DB auslesen - Problem


 
tomstig
10-10-2005, 22:35 
 
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:

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?

 
penizillin
10-10-2005, 22:41 
 
wie wär's mit einem beispiel, was alles in $data['aufbau'] zeile für zeile zu finden ist?

 
tomstig
10-10-2005, 22:55 
 
$data['aufbau'] kann entweder einen normalen HTML Code enthalten (z.B. <input type="" />) oder ein php-Code (z.B. http://www.php-resource.de/forum/showthread.php?s=&threadid=60202)

 
penizillin
10-10-2005, 23:04 
 
und was heißt "funktioniert nicht"?

eigentlich habe ich ein paar beispiel-datensätze erwartet.

 
tomstig
10-10-2005, 23:23 
 
omg.. ich bin auf den Fehler draufgekommen: Ich hab versucht, eine Klasse 2x zu "declaren" => Fehlermeldung, Skriptabbruch...

file_exists() hat geholfen...

 
penizillin
10-10-2005, 23:34 
 
hab ich von anfang an gewusst, wollte es dir nur nicht direkt sagen. :goth:

 
tomstig
10-10-2005, 23:37 
 
Original geschrieben von penizillin
hab ich von anfang an gewusst, wollte es dir nur nicht direkt sagen. :goth:

Du kannst Gedanken lesen? :eek:

 
penizillin
10-10-2005, 23:40 
 
verstehst du jetzt den fehler, den du beim threadstarten gemach hast?

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:07 Uhr.