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)
Parsen von PHP-Code [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Parsen von PHP-Code


 
strauberry
02-11-2004, 16:06 
 
Hallo,

folgendes Problem: Ich habe eine DB, in der der Content für die Seiten drinsteht. Wie kann ich es jetzt anstellen, dass ich in die DB PHP-Code reinschreibe, und der dann noch geparst wird?

Also z.B. ich habe die Seite index.php4 und die liest dann den Content der ID=3 aus. Im DB-Eintrag steht im Contentfeld unter anderem echo $var;
wie kann ich diesen PHP-Code jetzt ausführen?

DANKE!

Viele Grüsse
strauberry

 
mrhappiness
02-11-2004, 16:06 
 
eval

 
MaxP0W3R
02-11-2004, 16:07 
 
mit eval

aber merke : eval is evil !

is relativ langsam...

 
mrhappiness
02-11-2004, 16:08 
 
Original geschrieben von MaxP0W3R
is relativ langsam... so wie du :p

 
strauberry
02-11-2004, 19:14 
 
Hi,

danke für den Tipp!!

Habe jetzt nur leider ein Prob mit eval:

Folgendes steht in der DB

$PHP_SELF?ID_CMS=123

Im meinem Code steht das:

eval('\$naviline["href"] = \'$naviline["href"]\';')


($naviline ist von der while-Schleife für jeden Datensatz mit assoc und "href" heißt das DB-Feld mit dem obigen Inhalt)

Folgenden Fehler erhalte ich:
Warning: Unexpected character in input: '\' (ASCII=92) state=1

DANKE!!

 
asp2php
02-11-2004, 19:59 
 
schau dir die Zeile mal genauer an
eval('\$naviline["href"] = '$naviline["href"]';')
eval erwartet einen String als Argument. Wo fängt dein Argumentstring an, wo hört er auf? ist was überflüssiges drin (syntaxtisch betrachtet)?

 
strauberry
02-11-2004, 21:24 
 
Hi,

da hat wohl das Forum zwei Zeichen geschluckt :)

Das ' vor dem zweiten $naviline und das vor dem ; sind beide escaped... also keine String-Begrenzer. Wieso steht da eigentlich das = drin??
Ich dachte, eval führt php-code aus. Da müsste doch dann sowieso echo... drinstehen, oder??

DANKE!

 
Coragon Rivito
03-11-2004, 10:48 
 
merke: strings in ' werden NICHT geparst, dh dein $naviline["href"] bleibt so und wird nicht zu deinem erwarteten ergebnis aus der db

- -

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