Zitat:
Zitat von Garlandt
Für meine Website habe ich ein "Grundgerüst". Kopfbereich, Navigation und so weiter werden durch php includet was alles auch super funktioniert.
Der eigentliche, seitenspezifische Inhalt (also HTML- und ggf. PHP-Code [der wiederum php-Dateien Includen soll]) soll aus einer Datenbank geladen werden.
|
Erst mal: gute Sache, weil du damit dynamisch bist & bleibst.
Das Problem das du allerdings in deinem Design hast, ist, dass es sich ja auf MySQL stützt.
deswegen erhälst du von MySQL für dein HTML-Content einen String als Rückgabetyp.
In dem String kann aber normalerweise kein PHP ausgeführt werden (was auch gut so ist), weil alles was zwischen den "" steht PHP so ziemlich egal ist
Die Funktion
eval() ist dazu da um Variablen in Strings zu ersetzen.
Sicherheitstechnisch halte ich sie aber auch für bedenklich, weil du damit ziemlich anfällig für MySQL-injection wirst...
Zitat:
Mittlerweile vermute ich, das ich vielleicht ein konzeptionelles Problem bei meiner Website habe.
|
Richtig vermutet, normalerweise geht das so:
HTML Content ist bei einer Webseite ja Statisch, deswegen wird er in .tpl-Dateien gespeichert, dazu baut man sich mit PHP dann ein Template-System (oder wenn man keine Lust hat nimmt man einfach
Smarty).
Die Idee dahinter ist einfach gesagt, Content vom Design komplett zu trennen, so dass das Template System hinterher nur noch dafür zuständig ist, was vorne angezeigt wird.
Sich mir Smarty zu beschäftigen lohnt sich auf jeden Fall (ist einfach und schnell zu installieren) und ist sicher genau das, was du brauchst.
Und noch ein Merksatz: Verwende die Datenbank nur für Daten