• Hallo Leute,
    wenn ich meine Templates geschrieben habe. Wie füge ich diese dann in meine echte Seite ein?
    Bis jetzt habe ich es immer so gemacht:

    PHP
    <?php
    include("oben.php);
    ?>


    Aber ich glaube nicht, dass das der richtige Weg ist.

    Mit freundlichen Grüßen,
    Philipp Escher

  • Kommt drauf an, entweder du Includest es, oder du arbeitest mit "Variabeln" und str_replace.
    Also erst mit file_get_contents() Datei holen um diese dann mit str_replace zu modifizieren.

  • Ist in Ordnung, aber wenn du es schöner und für dich einfacher haben willst, kannst du es auch besser machen.

    Auch eine Möglichkeit, wenn du nicht mit str_replace und so arbeiten möchtest, weil das für deine zwecke zu aufwändig wäre und außer Titel und Beschreibung eh immer nur der Inhalts-Teil eingebunden wird, ist alles über die index-Datei zu steuern und abhängig von einem get-Wert immer eine bestimmte Seite in den immer gleichen Hauptaufbau einbinden.
    Titel und eventuell weitere Daten der Datei kann aus einer Datenbank ausgelesen werden.

    Damit du dir was dadrunter vorstellen kannst, hier mal eine Beispielvorgehensweise:

    PHP
    <span class="syntaxhtml"><span class="syntaxdefault"><?php<br /></span><span class="syntaxcomment">// Get auslesen, ist er leer, wird die Startseite eingebunden<br /></span><span class="syntaxdefault">$file </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">(isset(</span><span class="syntaxdefault">$_GET</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'file'</span><span class="syntaxkeyword">]))</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">?</span><span class="syntaxdefault"> $_GET</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'file'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">:</span><span class="syntaxdefault"> </span><span class="syntaxstring">'start'</span><span class="syntaxkeyword">;<br /></span><span class="syntaxcomment">// Dateinamen überprüfen, nur buchstaben und der unterstrich zugelassen,<br />// sonst Startseite einbinden<br /></span><span class="syntaxdefault">if </span><span class="syntaxkeyword">(!</span><span class="syntaxdefault">preg_match</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'/^[a-z_]+$/i'</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $file</span><span class="syntaxkeyword">))</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">    $file </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">'start'</span><span class="syntaxkeyword">;<br />}<br /></span><span class="syntaxcomment">// Existiert die Datei? sonst Error404-Seite einbinden<br /></span><span class="syntaxdefault">if </span><span class="syntaxkeyword">(!</span><span class="syntaxdefault">file_exists</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'inc/'</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$file</span><span class="syntaxkeyword">.</span><span class="syntaxstring">'.php'</span><span class="syntaxkeyword">))</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">    $file </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">'error404'</span><span class="syntaxkeyword">;<br />}<br /></span><span class="syntaxcomment">// Standard-Titel<br /></span><span class="syntaxdefault">$title </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">'Meine Seite'</span><span class="syntaxkeyword">;<br /></span><span class="syntaxcomment">// Aus vorher hergestellter Datenbankverbindung die Reihe mit dem<br />// Dateinamen auslesen<br /></span><span class="syntaxdefault">$query </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">"SELECT titel<br />           FROM meineTabelle<br />           WHERE dateiname = '"</span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> mysql_real_escape_string</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$file</span><span class="syntaxkeyword">);</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxstring">"'"</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">$erg </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> mysql_query</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$query</span><span class="syntaxkeyword">);<br /></span><span class="syntaxcomment">// Wurde kein Eintrag gefunden wird die error404-Seite eingebunden<br /></span><span class="syntaxdefault">if </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">mysql_num_rows</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$erg</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">===</span><span class="syntaxdefault"> 0</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">    $file </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">'error404'</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">    $title </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">'Error404 - Datei nicht gefunden || '</span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> $title</span><span class="syntaxkeyword">;<br />}<br /></span><span class="syntaxcomment">// Ist ein Titel vorhanden, wird er dem Standard-Titel hinzugefügt<br /></span><span class="syntaxdefault">$fetch </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> mysql_fetch_object</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$erg</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">if </span><span class="syntaxkeyword">(!empty(</span><span class="syntaxdefault">$fetch</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">titel</span><span class="syntaxkeyword">))</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">    $title </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $fetch</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">titel </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> </span><span class="syntaxstring">' || '</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> $title</span><span class="syntaxkeyword">;<br />}<br /><br /></span><span class="syntaxcomment">// Dateinamen vervollständigen<br /></span><span class="syntaxdefault">$filename </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">'inc/'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> $file </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> </span><span class="syntaxstring">'.php'</span><span class="syntaxkeyword">;<br /><br /></span><span class="syntaxcomment">// Hier kommt der Standard-HTML Teil, der den der Datei einschließt<br /></span><span class="syntaxdefault">?><br /></span><!DOCTYPE html><br /><html><br />    <head><br />        <title><span class="syntaxdefault"><?php echo $title</span><span class="syntaxkeyword">;</span><span class="syntaxdefault"> ?></span></title><br />        <!-- Metas --><br />    </head><br /><br />    <body><br />        <!-- Header, Navigation und ähnliches --><br /><br />        <span class="syntaxdefault"><?php require_once $filename</span><span class="syntaxkeyword">;</span><span class="syntaxdefault"> ?><br /></span><br />        <!-- Footer --><br />    </body><br /></html><br /></span>


    Ist jetzt doch etwas umfangreicher geworden, als ich es mir gedacht habe, da alle möglichen Überprüfungen vorhanden sind. Kann man aber auch noch seinen Bedürfnissen entsprechend erweitern.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!