So, liebe Leute, ich bin mittlerweile an nem Punkt angelangt, der mir tierisch auf den Keks geht. Und zwar: Ich entwickle seit ein paar Jahren nun schon in PHP und habe auch schon einige Webseiten erfolgreich aufgesetzt und halte sie erfolgreich am Laufen.
Doch: In den meisten Seiten fange ich so an: <? ob_start(); ?> .. Da ich in vielen Unterseiten einen header() sende um umzuleiten und keine Fehlermeldung zu kassieren.
Leider ist dies scheinbar sehr sehr schlecht programmiert und sollte eigentlich vermieden werden, aber da ich vor dem header bereits HTML sende, war das für mich bisher immer Problematisch. Der typische Aufbau meiner Seiten sieht so aus:
{PHP}
{HTML}
{PHP der den Inhalt includiert}
{HTML}
Wenn ich also eine Seite inkludiere, die Login erfordert, sende ich in dieser inkludierten date (wenn kein login vorhanden) einen header("Location:") zu ner anderen Seite. Da ich aber vorher HTML sende, muss ich die Ausgabe buffern.
Das möchte ich ändern. PHP ist eine Scriptsprache und sollte auch nur dafür verwendet werden (habe ich gehört), und daher sollte Design und Script getrennt werden. Aber wie soll ich das machen? Ich habe gar keine Idee und bin auch mehrere male schon dran gescheitert. Und da ich es verstehen will, möchte ich auf kein bestehendes CMS zurückgreifen, sondern entweder selbst eines entwicklen, oder eine Lösung für mein Problem finden. Wie macht ihr das?
// Edit: Was mir heute mittag schon in den Sinn kam war folgende Idee: Das Design komplett auslagern, via file_get_contents() einlesen und definierte Variablen ersetzen. Doch da scheitere ich am Inhalt. Ich inkludiere PHP Dateien und die werden natürlich geparst. Also müsste ich den geparsten Inhalt irgendwie an einer Variable übergeben und mittels str_replace den betreffenden "Template Tag" ersetzen ... kA
Doch: In den meisten Seiten fange ich so an: <? ob_start(); ?> .. Da ich in vielen Unterseiten einen header() sende um umzuleiten und keine Fehlermeldung zu kassieren.
Leider ist dies scheinbar sehr sehr schlecht programmiert und sollte eigentlich vermieden werden, aber da ich vor dem header bereits HTML sende, war das für mich bisher immer Problematisch. Der typische Aufbau meiner Seiten sieht so aus:
{PHP}
{HTML}
{PHP der den Inhalt includiert}
{HTML}
Wenn ich also eine Seite inkludiere, die Login erfordert, sende ich in dieser inkludierten date (wenn kein login vorhanden) einen header("Location:") zu ner anderen Seite. Da ich aber vorher HTML sende, muss ich die Ausgabe buffern.
Das möchte ich ändern. PHP ist eine Scriptsprache und sollte auch nur dafür verwendet werden (habe ich gehört), und daher sollte Design und Script getrennt werden. Aber wie soll ich das machen? Ich habe gar keine Idee und bin auch mehrere male schon dran gescheitert. Und da ich es verstehen will, möchte ich auf kein bestehendes CMS zurückgreifen, sondern entweder selbst eines entwicklen, oder eine Lösung für mein Problem finden. Wie macht ihr das?
// Edit: Was mir heute mittag schon in den Sinn kam war folgende Idee: Das Design komplett auslagern, via file_get_contents() einlesen und definierte Variablen ersetzen. Doch da scheitere ich am Inhalt. Ich inkludiere PHP Dateien und die werden natürlich geparst. Also müsste ich den geparsten Inhalt irgendwie an einer Variable übergeben und mittels str_replace den betreffenden "Template Tag" ersetzen ... kA
Kommentar