Parse error: syntax error

Matlox

Mitglied
Hallo Again,
Bin mal wieder weiter mit meinen CMS :D
langsam macht das Coden richtig spaß und man kommt nich mehr weg,
doch einige Sachen muss ich noch lernen, da frag ich doch gleich mal nach ;-)

Das is der PHP Code von meiner inc/news/index.php

PHP:
<?php
	$sql = "SELECT * FROM news ORDER BY datum DESC";
	if (!$res_id = mysql_query($sql))
	die ('Achtung, SQL-Befehl ist falsch!');

	function gettemplate($template,$endung="html")
{
	return str_replace("\"","\\\"",implode("",file($template.".".$endung)));
}
	function dooutput($template) 
{
	echo $template;
}

$Id = $row[Id]; 
$titel = $row[titel];
$inhalt = $row[inhalt]; 
$datum = $row[datum]; 

eval ("dooutput(\"".gettemplate("tpl/news")."\");"); 

?>

Soweit funktioniert alles, er verbindet sich, hollt die datein aus der Datenbank, aber das Template nicht, er sagt mir:

"Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /usr/export/www/vhosts/funnetwork/hosting/matlox/inc/news/index.php(20) : eval()'d code on line 3"

und das verstehe ich nicht :)
kann mir jemand weiterhelfen?
danke im vorraus! Matlox

------

OK den fehler hab ich behoben, da hatt was mit der news.html nicht hingehaun,
jetzt hab ich das behoben, doch er gibt mir jetzt den inhalt nicht aus, hier der inhalt der tpl/news.html:

HTML:
<html>
<head>
<title>News</title>
</head>

<table border="0" width="100%">
	<tr>
		<td bgcolor="#C0C0C0">($Id) $titel erstellt am $datum</td>
	</tr>
	<tr>
		<td>
		<table border="0" width="100%" cellspacing="0" cellpadding="0">
			<tr>
				<td width="35">&nbsp;</td>
				<td>$inhalt</td>
			</tr>
		</table>
		</td>
	</tr>
	<tr>
		<td>&nbsp;</td>
	</tr>
</table>
</html>
 
Zuletzt bearbeitet:
Also,
da steht ja was mit Variablen,
allerdings musst es so lauten: <? echo $variable ?>

hmm... also so wie ich das jetzt verstanden hab muss das nun so in der tpl/news.hmtl stehn:

HTML:
<html>
<head>
<title>News</title>
</head>

<table border="0" width="100%">
	<tr>
		<td bgcolor="#C0C0C0">(<? echo $Id ?>) <? echo $titel ?> erstellt am <? echo $datum ?></td>
	</tr>
	<tr>
		<td>
		<table border="0" width="100%" cellspacing="0" cellpadding="0">
			<tr>
				<td width="35">&nbsp;</td>
				<td><? echo $inhalt ?></td>
			</tr>
		</table>
		</td>
	</tr>
	<tr>
		<td>&nbsp;</td>
	</tr>
</table>
</html>

es kommt aber genau aufs gleiche heraus ... hier das ergebniss:

http://matlox.ma.funpic.de

evtl. verbindet er sich doch nicht?
 
index.php:
PHP:
<?php
include("inc/config.php");
include("inc/switch.php");
?>
<head>
<meta http-equiv="Content-Language" content="de">
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<div align="center">
	<table border="0" width="904" cellspacing="0" cellpadding="0">
		<tr>
			<td>
			<img border="0" src="img/page/header.gif" width="937" height="21"></td>
		</tr>
	</table>
	<table border="0" width="937" cellspacing="0" cellpadding="0" bgcolor="#FFFFFF">
		<tr>
			<td>
			<p align="center">Soul.CMS<p align="center">&nbsp;</td>
		</tr>
	</table>
</div>
<div align="center">
	<table border="0" width="937" cellspacing="0" cellpadding="0" bgcolor="#FFFFFF">
		<tr>
			<td width="10"></td>
			<td width="170" align="center">
			<p align="center">
			</td>
			<td width="20"></td>
			<td width="535">
			<p align="center">
			<img border="0" src="img/page/content_header.gif" width="535" height="21"></td>
			<td width="20"></td>
			<td width="170">
			<p align="center">
			</td>
			<td width="10"></td>
		</tr>
	</table>
</div>

<div align="center">
<div align="center">
	<table border="0" width="937" cellspacing="0" cellpadding="0" bgcolor="#FFFFFF" height="208">
		<tr>
			<td width="10"></td>
			<td width="170" align="center" valign="top">
			<table border="0" width="100%" cellspacing="0" cellpadding="0">
				<tr>
					<td>
					<img border="0" src="img/page/box_header.gif" width="170" height="21"></td>
				</tr>
				<tr>
					<td bgcolor="#424542" align="center" valign="top">
			<table border="0" width="96%" cellspacing="0" cellpadding="0">
				<tr>
					<td>v</td>
				</tr>
			</table>
					</td>
				</tr>
				<tr>
					<td>
			<img border="0" src="img/page/box_footer.gif" width="170" height="21"></td>
				</tr>
				<tr>
					<td>&nbsp;</td>
				</tr>
			</table>
			<table border="0" width="100%" cellspacing="0" cellpadding="0">
				<tr>
					<td>
					<img border="0" src="img/page/box_header.gif" width="170" height="21"></td>
				</tr>
				<tr>
					<td bgcolor="#424542" align="center" valign="top">
			<table border="0" width="96%" cellspacing="0" cellpadding="0">
				<tr>
					<td>v</td>
				</tr>
			</table>
					</td>
				</tr>
				<tr>
					<td>
			<img border="0" src="img/page/box_footer.gif" width="170" height="21"></td>
				</tr>
				<tr>
					<td>&nbsp;</td>
				</tr>
			</table>
			<table border="0" width="100%" cellspacing="0" cellpadding="0">
				<tr>
					<td>
					<img border="0" src="img/page/box_header.gif" width="170" height="21"></td>
				</tr>
				<tr>
					<td bgcolor="#424542" align="center" valign="top">
			<table border="0" width="96%" cellspacing="0" cellpadding="0">
				<tr>
					<td>v</td>
				</tr>
			</table>
					</td>
				</tr>
				<tr>
					<td>
			<img border="0" src="img/page/box_footer.gif" width="170" height="21"></td>
				</tr>
				<tr>
					<td></td>
				</tr>
			</table>
			</td>
			<td width="20"></td>
			<td width="533" align="center" bgcolor="#424542" valign="top">
			<table border="0" width="97%" cellspacing="0" cellpadding="0">
				<tr>
					<td><? include($content); ?></td>
				</tr>
			</table>
			</td>
			<td width="20"></td>
			<td width="170" align="center" valign="top">
			<table border="0" width="100%" cellspacing="0" cellpadding="0">
				<tr>
					<td>
					<img border="0" src="img/page/box_header.gif" width="170" height="21"></td>
				</tr>
				<tr>
					<td bgcolor="#424542" align="center" valign="top">
			<table border="0" width="96%" cellspacing="0" cellpadding="0">
				<tr>
					<td><? include("inc/login/index.php"); ?></td>
				</tr>
			</table>
					</td>
				</tr>
				<tr>
					<td>
			<img border="0" src="img/page/box_footer.gif" width="170" height="21"></td>
				</tr>
				<tr>
					<td>&nbsp;</td>
				</tr>
			</table>
			<table border="0" width="100%" cellspacing="0" cellpadding="0">
				<tr>
					<td>
					<img border="0" src="img/page/box_header.gif" width="170" height="21"></td>
				</tr>
				<tr>
					<td bgcolor="#424542" align="center" valign="top">
			<table border="0" width="96%" cellspacing="0" cellpadding="0">
				<tr>
					<td>v</td>
				</tr>
			</table>
					</td>
				</tr>
				<tr>
					<td>
			<img border="0" src="img/page/box_footer.gif" width="170" height="21"></td>
				</tr>
				<tr>
					<td>&nbsp;</td>
				</tr>
			</table>
			<table border="0" width="100%" cellspacing="0" cellpadding="0">
				<tr>
					<td>
					<img border="0" src="img/page/box_header.gif" width="170" height="21"></td>
				</tr>
				<tr>
					<td bgcolor="#424542" align="center" valign="top">
			<table border="0" width="96%" cellspacing="0" cellpadding="0">
				<tr>
					<td>v</td>
				</tr>
			</table>
					</td>
				</tr>
				<tr>
					<td>
			<img border="0" src="img/page/box_footer.gif" width="170" height="21"></td>
				</tr>
				<tr>
					<td></td>
				</tr>
			</table>
			</td>
			<td width="10"></td>
		</tr>
	</table>
</div>

<div align="center">
	<table border="0" width="937" cellspacing="0" cellpadding="0" bgcolor="#FFFFFF">
		<tr>
			<td width="10"></td>
			<td width="170" align="center">
			<p align="center">
			</td>
			<td width="20"></td>
			<td width="535">
			<p align="center">
			<img border="0" src="img/page/content_footer.gif" width="535" height="21"></td>
			<td width="20"></td>
			<td width="170">
			<p align="center">
			</td>
			<td width="10"></td>
		</tr>
	</table>
</div>

	<table border="0" width="937" cellspacing="0" cellpadding="0" bgcolor="#FFFFFF">
		<tr>
			<td>
			<p align="center">&nbsp;<p align="center">Copyright (C) 2007 by 
			Soul.CMS - Kontakt - Impressum</td>
		</tr>
	</table>
</div>

<div align="center">
	<table border="0" width="937" cellspacing="0" cellpadding="0">
		<tr>
			<td>
			<img border="0" src="img/page/footer.gif" width="937" height="21"></td>
		</tr>
	</table>
</div>

inc/config.php:

PHP:
<?php
$connectionid  = mysql_connect ("localhost", "******", "******");  
if (!mysql_select_db ("matlox", $connectionid)) 
 
{  
  die ("Keine Verbindung zur Datenbank");  
}  
?>

inc/switch.php:

PHP:
<?php

switch($section)
{
 //ADMIN
    case newsadmin:
    $content = "inc/admin/news.php";
    break;   

 //LOGIN
    case login:
    $content = "inc/login/index.php";
    break;
    case checklogin:
    $content = "inc/login/login.php";
    break;
    case checkuser:
    $content = "inc/login/checkuser.php";
    break;
    case intern:
    $content = "inc/login/intern.php";
    break;
    case logout:
    $content = "inc/news/logout.php";
    break;

 //NEWS
    case news:
    $content = "inc/news/index.php";
    break;    

 //COUNTER
    case Online:
    $content = "inc/counter/index.php";
    break;

 //COUNTER
    case layout:
    $content = "inc/layout/index.php";
    break;

 //DEFAULT SEITE
    default:
    $content = "inc/news/index.php";
    break;
}
?>

und den rest habt Ihr ja,

inc/news/index.php
&
tpl/news.html
 
Zeichenketten sollten in PHP nach wie vor als solche ausgezeichnet werden statt auf die Toleranz des PHP-Interpreters zu verlassen. Wenn die Fehlerbehandlung auch Hinweise enthält, wirst du sehen was ich damit meine.

Danke, hat mir etwas weitergeholfen,
wie gesafgt, ich bin noch anfänger, von daher kenn ich die meisten befehle noch nicht und versuche vorerst auf komplizierten verlinkungen auf Datenbanken zuzugreifen, damit ich die codes auch Strukturieren kann :)

also hab mal die fehler anzeigen lassen, er zeigt mir das ich session_start (); benötige,
den code oben eingegeben, alles gemacht, funktioniert aber trozdem noch nich :S

vllt. ein kleiner tipp? :)

PHP:
<?php

	session_start ();

	$sql = "SELECT * FROM news ORDER BY datum DESC";
	if (!$res_id = mysql_query($sql))
	die ('Achtung, SQL-Befehl ist falsch!');

	function gettemplate($template,$endung="html")
{
	return str_replace("\"","\\\"",implode("",file($template.".".$endung)));
}
	function dooutput($template) 
{
	echo $template;
}

$_SESSION[Id] = $Id; 
$_SESSION[titel] = $titel;
$_SESSION[datum] = $datum; 
$_SESSION[inhalt] = $inhalt; 

eval ("dooutput(\"".gettemplate("tpl/news")."\");"); 

?>
 
Zurück