Knuddelkind: PHP und externe Tenplates

Hallo & guten Morgen!

Wer kann mir sagen, wie ich am besten in ein PHP-Script

a) ein Template einbinden kann
b) welcher Dateityp (txt oder htm) sich am besten eignet?

Ich möchte, zB bei einem Formmailer, dass die Daten aus dem
Formular, die als Variable ja bereits verfügbar sind, in ein
Template, welches sich in einer externen Datei befindet,
"eingebunden" und dann zusammen ausgegeben werden.

Mit readfile gehts nichts und bei include müsste ich ja die
Template-Datei selbst wieder mit php-Code "spicken", was genau
nicht sein soll (wenn machbar).

Wie kann das gehen?
Kann ich die Vorlage "einfach so" öffnen oder muss ich sie
irgendwie "umformen"?

Bitte gebt mir nen brauchbaren Denkansatz, irgendwoe seh ich
grad den Wald vor lauter Bäumen nicht mehr.

Danke!

Viele Grüsse
Euer Knuddelkind

  1. Hi,

    a) ein Template einbinden kann

    Wenn der Inhalt unterschiedlich sein soll, dann mit fread(),
    ansonsten mit require() oder include()

    b) welcher Dateityp (txt oder htm) sich am besten eignet?

    das ist völlig egal, sind ja sowieso nur Text-Daten... Windows-User
    sind viel zu gebunden an Endungen ,))

    Ich möchte, zB bei einem Formmailer, dass die Daten aus dem
    Formular, die als Variable ja bereits verfügbar sind, in ein
    Template, welches sich in einer externen Datei befindet,
    "eingebunden" und dann zusammen ausgegeben werden.

    meinst du etwas wie

    <input type="typ" name="t1" value="<?php echo $t1; ?>">

    ? wenn ja, dann macht man das am besten so:

    Man definiert ein Template mit dem Formular und so, z. B. so:

    -------- template.dat ------------
    <form name="myform" action="myaction.php" method="post">
    <input type="text" name="inhalt[txt1]" value="[txt1]">
    <input type="text" name="inhalt[txt2]" value="[txt2]">
    <input type="text" name="inhalt[txt3]" value="[txt3]">
    </form>
    ----------------------------------

    Dann in der PHP-Datei:

    ------- template2html.php --------
    <?php

    $fd = fopen("template.dat","r");
    $inhalt = fread($fd,filesize("template.dat"));
    fclose($fd);

    while(list($k,$v) = each($inhalt)
      {
      $inhalt = ereg_replace("[$k]",$v,$inhalt);
      }
    ?>
    <html>
    <head>
    <title>mein template-2-html-scripter</title>
    </head>
    <body>

    <?php echo $form; ?>

    </body>
    </html>

    Mit readfile gehts nichts und bei include müsste ich ja die
    Template-Datei selbst wieder mit php-Code "spicken", was genau
    nicht sein soll (wenn machbar).

    Naja, man _muß_ das nicht, nur kann man die Werte dann nicht
    übernehmen ,))

    Wie kann das gehen?
    Kann ich die Vorlage "einfach so" öffnen oder muss ich sie
    irgendwie "umformen"?

    require("vorlage.html");

    "vorlage.html" kann dabei eine ganz stinknormale HTML-Datei sein.

    mfg
    CK1