Moin!
Warum passiert das und was kann ich dagegen tun?
Du hast "Text in einer Datenbank". Und du gibst "Text in einer Datenbank" aus.
Aber nirgendwo gibts den Schritt "Interpretiere den 'Text in einer Datenbank' als PHP-Programmcode".
Ich halte dein Vorgehen sowieso für nicht ideal.
Erstens: Verwende doch lieber eine vernünftige Template-Engine, anstatt dir selber eine zusammenzufrickeln. Mit einer ordentlichen Templateengine hast du zum Beispiel den Vorteil, dass du keine Seitenfragmente in die DB schreiben mußt, sondern komplette Seiten erstellen kannst.
Zweitens: Die Seiten in eine DB zu schreiben halte ich nicht unbedingt für ideal. Das Dateisystem ist auch nicht zu verachten, und mit Sicherheit nicht langsamer.
Drittens: Mit einer schönen Template-Engine mußt du dir zwangsläufig einen guten Programmierstil angewöhnen: Eingabe, Verarbeitung, Ausgabe. Du bereitest alle darzustellenden Informationen erst auf, schickst sie dann an die Template-Engine, und erst am Schluß wird die Seite generiert. Das hat auch den Vorteil, dass du dich im PHP-Code nicht mehr mit HTML herumschlagen mußt - dafür ist dein Template da, welches alle benötigten Tags schon enthält und nur noch auf die Textinhalte wartet.
- Sven Rautenberg