Hallo,
ich hätte ein Problem: in der DB kommt ein gemischter Code vor in Form (hier für Beispiel vereinfacht):
Hier ist der normaler Hypertext und gleich kommts: echo $variable; ?>
Ich habe eine Php-seite, in der auch der Wert der $variable zugewiesen wird und diese Seite nach einer erfolgreichen Verbindung zur DB auch das Feld richtig ausliest, bringt aber im Quellcode den vollen NICHT geparsten php-code, obwohl php-Erweiterterung hat.
Ich habe mit eval()probiert, scheint aber nicht zu funktionieren:
eval(„print“$variable";");?>. Sieht im Quelltext wie ein Kommentar aus…
Weiss jemand, wie man dass hinbekommt?
Danke für jede Hilfe,
Gruss
Hallo,
ich hätte ein Problem: in der DB kommt ein gemischter Code vor
in Form (hier für Beispiel vereinfacht):
Hier ist der normaler
Hypertext und gleich kommts: echo $variable;
?>
Da musst du dir etwas anderes einfallen lassen. Man kann PHP-Code nicht in eine mysql Datenbank speichern und danach wieder auslesen, da er anschließend nich geparst werden kann.
Ich kann auch nicht ganz folgen, da ich soetwas noch nie gebraucht habe…
Hi, danke für die Antwort…
also im Prinzip geht es darum, dass die Produkte nicht unifiziert werden können… Daher variiert sich die Vorlage jedes Mal, wenn aus der DB abgerufen. Mal ist ein Bild oben, mal unten, mal werden Blöcke des Contents durcheinander gebracht, usw.
Daher eignet sich am Besten mixed code, auch übersichtshalber… Aber ich dachte, man kann die DB doch austricksen?
Danke
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
eval(„print“$variable";");?>. Sieht im Quelltext
wie ein Kommentar aus…
Weiss jemand, wie man dass hinbekommt?
echo eval(’?>’.$code.’’) ?>, wobei $code dein ausgelesenes … echo $variable?>… ist.
Das ?>… ist nötig, da eval erstmal PHP-Code erwartet.
Alexander
PS: Nur nehmen, wenn du genau kontrollieren kannst, was da an eval übergeben wird, auf keinen Fall mit Code aufrufen, der von einem „normalen“ Benutzer der Webseite eingegeben wurde.
PPS: Platzhalter kann man einfacher mit str_replace ersetzen (schneller und sicherer), evtl. wäre auch ein „richtiges“ Template-System wie http://smarty.php.net etwas für dein Problem.