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
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
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden