• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

parse error bei eval()

Joda1994

Neues Mitglied
hi...
in meinem css hab ich in einer template.txt das "grundgerüst" der seite. da wird dann der inhalt eingesetzt. das klappt auch ganz gut, allerdings wird kein php erkannt da ich die ausgabe bisher über echo gemacht hatte. jetzt benutz ich eval und bekomm ein parse error in der 1. zeile. ich denke mal, das liegt warscheinlich an dem <! vom doctype. aber wie kann man das umgehen?
die " im template muss ich auch nochma wegmachen, dadran liegt das aber nicht. hab ich getestet.

hier mal mein code:

index.php
PHP:
<?php
$template = file_get_contents("template.txt");
if($_GET["route"] == "")
$route = "home.html";
else
$route = $_GET["route"];
$filename = "pages/".$route;
$handle = fopen ($filename, "r");
$content = fread ($handle, filesize ($filename));
fclose ($handle);
if($content == "")
	$content = "Die Seite konnte nicht gefunden werden";
$content = str_replace("##CONTENT##", $content, $template);
eval ($content);
?>

template.txt
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html>
	<head>
		<title>
			Peach 2
		</title>
		<!--[if lt IE 7]>
		<script defer type="text/javascript" src="pngfix.js"></script>
		<link rel="stylesheet" href="ie.css" type="text/css">
		<![endif]-->

		<script type="text/javascript" src="js/prototype.js"></script>
		<script type="text/javascript" src="js/scriptaculous.js?load=effects,builder"></script>
		<script type="text/javascript" src="js/lightbox.js"></script>
		<link rel="stylesheet" href="lightbox.css" type="text/css" media="screen">

		<link rel="stylesheet" href="layout.css" type="text/css">

		<meta http-equiv="language" content="deutsch, de">
		<meta name="keywords" content="Peach Skateboards,Peach,Skateboards,Lars Zimmermann,Media,Skateboards,Kiel">
		<meta name="description" content="Peach Skateboards">
		<meta name="page-topic" content="Peach Skateboards">
		<meta name="revisit-after" content="5 days">
		<meta name="audience" content="Skater">

	</head>

	<body>
		<div id="main">
			<div id="header">
				<img src="http://www.html.de/images/header/header_black.png" alt="Peach" />
				<ul>
					<li>
						<a href="home.html">Home</a>
					</li>
					<li>
						<a href="fotos.html">Fotos</a>
					</li>
					<li>
						<a href="videos.html">Videos</a>
					</li>
					<li>
						<a href="gaestebuch.html">Gästebuch</a>
					</li>
					<li>
						<a href="spots.html">Spots</a>
					</li>
					<li>
						<a href="links.html">Links</a>
					</li>
					<li>
						<a href="team.html">Team</a>
					</li>
				</ul>
				<div class="cleaner"></div>
				<?php
				if($_GET["route"] == "fotos.html"){
				echo ">> <b>Peach Sk8media</b> >> ";
				}
				elseif($_GET["route"] == "videos.html"){
				echo ">> <b>Peach Sk8media</b> >> ";
				}
				else{
				echo ">> <b>Peach Sk8media</b> >> <a href=" . $_GET["route"] . ">" . $_GET["route"];
				?>
			</div>
			<div id="content">
			##CONTENT##
			</div>
			<div id="footer">
			<a href="impressum.html">Impressum</a> | 
			<a href="about.html">About</a> | 
			<a href="login.html">Log in</a> | 
			<a href="home.html">Home</a> | 
			<a href="fotos.html">Fotos</a> | 
			<a href="videos.html">Videos</a> | 
			<a href="gaestebuch.html">Gästebuch</a> | 
			<a href="spots.html">Spots</a> | 
			<a href="links.html">Links</a> | 
			<a href="team.html">Team</a><br /> 
			<div class="subtitle">2009 Peach Skateboards</div>
			</div>
		</div>
	</body>
</html>

und dann halt noch die dateien für die einzelnen seiten, wo aber kein code drinn is.
 
Zuletzt bearbeitet von einem Moderator:
Werbung:
Im eval musst du gültigen PHP Code benutzen. Bei dir Passiert:
PHP:
<?PHP
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
[...]
Das versucht er auszuführen, darum gibt es diese Fehlermeldung.
Abhilfe: füge in der template.txt ganz oben/am Anfang an: ?>

Mfg
 
danke ;)
am ende dann auch wieder <?php ?

edit: hab das grad mal getestet und es geht nich..
2. edit: auch eval("?>abc<?php"); geht nicht
 
Zuletzt bearbeitet:
Werbung:
Zurück
Oben