Hi Michael!
Mir wurde geraten, "eval" zu nutzen, jedoch bringt er Fehler,
welche ?
er scheint z.B. so etwas wie "eval('print "hallo"')" nicht zu können...
doch kann er, hier müsste es z.b.:
eval('print "hallo;"');
heissen, evtenuell auch mal: eval("print "ich bin eine $zahl die ausgewertet wird";");
Im Gegensatz zu JavaScript haben einfache und doppelte Anführungszeichen eine
unterschiedliche Bedeutung.
Bei Datenbanken wird auch gerne stripslashes(); bzw, addslashes(); vergessen, zu wenig, zu oft
oder in asymetrischer Anzahl verwendet. (Dazu kommen noch die 'smartslashes' die ab und an
mal welche reinbauen oder wegnehmen.)
Schreibe deinen String, den du eval(); uieren möchtest am besten in eine Variable und gib die
'testhalber' mit
echo nl2br(htmlentities($VariableFuerEval));
aus.
Da muss dann gültiger php-Code stehen. Inclusive aller Semikolons und alle "strings "richtig" ge-slash-t".
Welche Wege bleiben mir?
Der weg mit eval(); scheint mir der richtige.
Wenn du nur wenige einfache Funktionen einbauen willst, kannst du dir natürlich auch selber was
stricken, z.B. so:
$html_seite=seite_aus_daten_bank_holen();
$html_seite=str_replace("<!-- DATUM -->",date("d.m.Y, g:i:s"),$html_seite);
$html_seite=str_replace("<!-- IP -->",getenv("REMOTE_ADDR"),$html_seite);
/* ... vielleicht noch ein paar sinvolle sachen :-) ... */
echo $html_seite;
setzt überall wo <!-- DATUM --> im Quelltext steht das aktuelle Datum ein, und überall wo
<!-- IP --> steht die aktuelle IP des Besuchers.
Gruss,
Carsten