Vampirgeist Geschrieben 19. April 2008 Geschrieben 19. April 2008 Hallo Leute ich habe ein problem meine Index.php nutzt eine Eval funktion, das Problem ist in kann in denn aufgerufenen seiten kein php tag nutzen,weil die seite dan nicht angezeigt werden. index.php <?php // Sprache ändern $language = ""; if(isset($_GET['language'])) {$language = $_GET['language'];} elseif(isset($_COOKIE['language'])) {$language = $_COOKIE['language'];} else {$language = "test"; } // Standart-Sprache switch ($language) { case 'test': break; default: $language = 'va'; break; } // Funktion zum Template umwandeln function Template($Tname) { $temp=implode("",file($Tname.".php")); $str=str_replace("\"","\\\"",$temp); return $str; } $action = ""; if (isset($_POST['action'])) {$action = $_POST['action'];} elseif (isset($_GET['action'])) {$action = $_GET['action'];} if (strpos($action,'..') !== false || strpos($action,'/') !== false || strpos($action,'\\') !== false) $action = ''; // wenn die variable $action nicht gesetzt ist, wird $action = welcome if($action == "") { $action = "welcome"; // Templates werden in Variablen gespeichert eval ("\$navirechts = \"".Template($language."_navirechts")."\";"); eval ("\$navilinks = \"".Template($language."_navilinks")."\";"); eval ("\$main = \"".Template($language."_".$action)."\";"); eval ("\$header = \"".Template($language."_header")."\";"); eval ("\$footer = \"".Template($language."_footer")."\";"); eval ("\$home = \"".Template($language."_home")."\";"); echo $home; } else { if(file_exists($language."_".$action.".php")) { // Templates werden in Variablen gespeichert eval ("\$navirechts = \"".Template($language."_navirechts")."\";"); eval ("\$navilinks = \"".Template($language."_navilinks")."\";"); eval ("\$main = \"".Template($language."_".$action)."\";"); eval ("\$header = \"".Template($language."_header")."\";"); eval ("\$footer = \"".Template($language."_footer")."\";"); eval ("\$home = \"".Template($language."_home")."\";"); echo $home; } else { $action = "not_available"; // Templates werden in Variablen gespeichert eval ("\$navirechts = \"".Template($language."_navirechts")."\";"); eval ("\$navilinks = \"".Template($language."_navilinks")."\";"); eval ("\$main = \"".Template($language."_".$action)."\";"); eval ("\$header = \"".Template($language."_header")."\";"); eval ("\$footer = \"".Template($language."_footer")."\";"); eval ("\$home = \"".Template($language."_home")."\";"); echo $home; } } ?> [/PHP] eingefügte php tage [PHP]<?php session_start (); ?> <?php if (isset ($_REQUEST["fehler"])) { echo "Die Zugangsdaten waren ungültig."; } ?> Kann mir einer helfen oder kann mir einer einen rat geben was ich besser machen kann oder veränder muß das es funktioniert. MFG Vampirgeist Zitieren
flashpixx Geschrieben 20. April 2008 Geschrieben 20. April 2008 Hallo, ich verstehe leider nicht warum Du "eval" benötigst. Du kannst die Variablen Zuweisung doch direkt so machen: $home = Template($language."_home"); Das "eval" würde ich dann in der Templatefunktion machen, dort wo Du auch die Daten erhälst (Scope beachten!). Außerdem solltest Du das Ergebnis von Eval prüfen, ob der Code fehlerfrei läuft Phil Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.