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
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!!
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