Parse error: syntax error, unexpected 'Antworten' (T_STRING), expecting ',' or ';' in C:\xampp\htdocs\mw\Seiten\Fragen2.php on line 124

  • Moin ich habe gerade versucht das noch automatisch ein Link unter jeden Eintrag getragen wird , jedoch spuckt er mir dann diese Fehlermeldung:


    Parse error: syntax error, unexpected 'Antworten' (T_STRING), expecting ',' or ';' in C:\xampp\htdocs\mw\Seiten\Fragen2.php on line 124



    Quellcode:

    PHP
    <html> <head>   <style>  	div {                	      	float: left;      	width:15%;		        	text-align: center;   	}	   div5 {                	      	float: left;      	width:5%;		        	text-align: center;   	}	   div3 {                	      	float: left;      	width:100%;              	      	text-align: center;   	}   	div2 {                	      	float: left;      	width:84%;              	      	text-align: center;   	}	   div4 {                	      	float: left;      	width:50%;		  height: 25%;      	text-align: center;   	}  	#header {          	background-image: url("Logo2.0.jpg") ;         	          	width: 100%;          	height: 90px;          	          	text-align: center;          	postition: fixed      	} 	#menue {          	float:right;         	width: 15%;         	margin: 5px;         	color: black;      	}  	li {    	text-color: yellow;     	list-style-type:square;    	}  	li:hover {     	background-color:green;     	list-style-type:square;    	}   	body {       	background-image: url("Hintergrund1.jpg")         	} 	</style>	</head> 	<body> 	<div3 id="header">   	<h1> Interroga </h1> 	</div3>	<hr> <div2> <a href="FragenA-Z.php">Fragen A-Z</a> </div2> <div id="menue">     	<ul>        	<li><h3><a href="Projekt2.php">Startseite</a></h3></li>   	        	<li><h3><a href="Fragen2.php">Fragen</a></h3></li>        	<li><h3><a href="Fragenstellen2.php">Fragen stellen</a></h3></li>        	<li><h3><a href="Impressum2.php">Impressum</a></h3></li>     	</ul>   	</div><?php $pdo = new PDO('mysql:host=localhost;dbname=htmlworld2', 'root', '');$statement = $pdo->prepare("SELECT COUNT(*) AS anzahl FROM gaestebuch WHERE deleted_at IS NULL");$statement->execute();$row = $statement->fetch();$anzahl_eintrage = $row['anzahl'];echo "$anzahl_eintrage gestellte Fragen<br><br>";  $seite = 1;if(isset($_GET['seite'])) {	$seite = intval($_GET['seite']);} $beitraege_pro_seite = 10;$start = ($seite-1)*$beitraege_pro_seite; $statement = $pdo->prepare("SELECT * FROM gaestebuch WHERE deleted_at IS NULL ORDER BY id  DESC LIMIT :start, :limit");$statement->bindParam(':start', $start, PDO::PARAM_INT);$statement->bindParam(':limit', $beitraege_pro_seite, PDO::PARAM_INT);$statement->execute();while($row = $statement->fetch()) {	$frage = htmlentities($row['frage']);	$text = nl2br(htmlentities($row['text']));	echo "<div4 style="border: 1px solid #000000;">			<div4 style=" padding: 5px; "><h4> Frage:<br></h4> $frage</a></div4>			<div4 style="padding: 5px;"><h4>Erleuterung der Frage:<br></h4> $text</div4>			<a href="Antworten.php">Antworten</a>		 </div4><br>"; } $anzahl_seiten = ceil($anzahl_eintrage / floatval($beitraege_pro_seite)); echo "<div5 align="center">";echo "<b>Seite:</b> ";for($a=1; $a <= $anzahl_seiten; $a++) {	if($seite == $a){		echo " <b>$a</b> ";	} else {			echo " <a href="?seite=$a">$a</a> ";	}}echo "</div5>"; ?> 	</body></html>


  • Hey,


    Dein Fehler entsteht (wie du ja an der Zeilenangabe unschwer erkennen kannst) In folgendem Stück:


    PHP
    echo "<div4 style="border: 1px solid #000000;">
                <div4 style=" padding: 5px; "><h4> Frage:<br></h4> $frage</a></div4>
                <div4 style="padding: 5px;"><h4>Erleuterung der Frage:<br></h4> $text</div4>
                <a href="Antworten.php">Antworten</a>
             </div4><br>";


    Warum? Ganz einfach: Du beginnst nach dem echo einen String, diesne leistest du mit doppelkten Anführungszeichen " ein, und einige Zeichen später, beendest du ihn wieder...
    Innerhalb eines Strings musst du entweder einfache Anführungszeichen ' nutzen, oder die doppelten escapen \"...
    Oder du benutzt für den PHP String einfache Anführungszeichen, dann kannst du darin doppelte Anführungszeichen einfach so benutzen, müsstest dann aber einfache verwenden...


    korrekt wäre also z.B.

    PHP
    echo '<div4 style="border: 1px solid #000000;">
                <div4 style=" padding: 5px; "><h4> Frage:<br></h4>'.$frage.'</a></div4>
                <div4 style="padding: 5px;"><h4>Erleuterung der Frage:<br></h4>'.$text.'</div4>
                <a href="Antworten.php">Antworten</a>
             </div4><br>';


    ungetestet, sollte aber so klappen...


    Aus irgendeinem grund hast du auch überall "div4" stehen...


    Beste Grüße
    Kanu

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!