Martin Novak: Frage zu Variablen; Wertsetzung falsch?

Huhu.
Ich bin Neuling in PHP, das vorab.

Ich möchte über verschiedene Aktionen auf der Seite verschienede Templateseiten aufrufen. Klappt auch so weit alles ohne Probleme.

Nun habe ich aber eine Variable, die, je nach Aktion, einen anderen Wert haben soll. Liegt es daran, dass ich zuviel mit JS gearbeitet habe (vom Weg den ich beim schreiben gehe), ich einfach nur müde bin oder ich einfach etwas falsches eingebe?

Die Index ist eine PHP-Seite, die Templateseiten sind .tpl Seiten, die dann in der PHP-Seite aufgerufen werden (wenn ich das richtig verstanden habe).. aber wie gesagt, es geht nur um die eine Variable.

Code index.php

  
<?php  
  
function gettemplate($template,$endung="tpl") {  
    $templatefolder = "templates";  
    return str_replace("\"","\\\"",implode("",file($templatefolder."/".$template.".".$endung)));  
}  
  
$site = $_GET['site'];  
  
if ($site == "start")   {  
 eval ("\$index = \"".gettemplate("index")."\";");  
 echo $index;  
  
// jetzt kommt die Variable von der ich rede,  
// der Rest mueste eigentlich irrelevant sein, oder?  
  
        $Pagetitle = "Startseite";  
  
// auch wenn ich die Variable oben durch  
// $Pagetitle = ''; schon aufrufe / definiere - wie auch immer -  
// klappt es nicht. Der Inhalt bleibt leer.  
// echo klappt auch nicht, zumindest kein Echo der Variable.  
// wenn ich einfach echo 'abc'; mache, klappt es..  
// aber das ist es ja nicht, was ich haben möchte..  
  
 }  
?>  

Aufruf in index.tpl

  
<html>  
<head>  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"  
  "http://www.w3.org/TR/html4/strict.dtd">  
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">  
<title> $Pagetitle </title>  
</head>  
<body>  
Inhalt der Seite..  
</body>  
</html>  

Hat jemand einen Tipp parat?
Setze ich den Inhalt der Variable falsch fest? Falsche Zeichen? Falsche Vorgehensweise?

Danke für jede Art von Hilfe,
lG Martin :)

  1. Hi,

    eval ("$index = "".gettemplate("index")."";");

    Ich nehme an, dass soll das Template einlesen, und ersetzt dabei bereits in diesem vorhandene Platzhalter?

    (Warum eigentlich eval? Warum nicht direkt $index = gettemplate(...)?)

    // jetzt kommt die Variable von der ich rede,
    // der Rest mueste eigentlich irrelevant sein, oder?

    $Pagetitle = "Startseite";

    // auch wenn ich die Variable oben durch
    // $Pagetitle = ''; schon aufrufe / definiere - wie auch immer -
    // klappt es nicht. Der Inhalt bleibt leer.

    Erwartest du ernsthaft, dass sich in dem vorher bereits geparsten Template jetzt noch irgendwas aendert, wenn du Jahrhunderte spaeter irgendwo einer Variable einen Wert zuweist ...?

    MfG ChrisB