pare error an der stelle? hööö

bluex

Erfahrenes Mitglied
hi ich habe mir da was zusammengefummelt , nur ich bekomm andauernd folgende fehlermeldung:

Code:
    Parse error:  parse error, unexpected $ in /is/htdocs/46664/www.test.de/kuenstler.php on line 111


die angegebene zeile wären dann das ?> am ende der datei......



hier mal der code der ganzen datei, sicher liegt der fehler woanders. =/ bin noch nihc so fitt in sachen php... :-(
hab die datei angehangen.

hoffe mir kann jemand helfen =)
 

Anhänge

  • kuenstler.zip
    1.002 Bytes · Aufrufe: 13
Würde mal ein paar Zeilen drüber schauen.
Es ist zwar komisch, dass er in einer Zeile, in der du ja sagst, sich nur ?> befindet, ein "$" sieht, aber evtl. rührt der Fehler schon von ein wenig weiter oben her (z.B. du hast zwei variablen und du vergisst bei der ersten den Strichpunkt, dann ist bei der zweiten das "$" 'unexpected').
 
oh ja lol hatte n ; vergessen ;) nunja aber der fehler bleibt trotzdem =(


der untere teil der Datei schaut nun so aus:

PHP:
 if($cat == "kuenstler") 
{
$sql = "SELECT
				$db_ask_global
			FROM
				hb_kuenstler_info;";
	$result = mysql_query($sql) OR die(mysql_error());
	//echo "<br />angeforderte Daten vorhanden:<br />\n";
	if(mysql_num_rows($result)) { // gucken ob was im Query drinsteckt
		while($row = mysql_fetch_assoc($result)) {
		$smarty->assign('content_image', $row['content_image']);
$smarty->assign('content', $row['content_inhalt']);
$smarty->assign('content_navi', $row['content_navi']);
}
	} else {
$cont_error = "<br />Zu diesem Thema wurden keine Daten gefunden bitte versuchen sie es später noch einmal<br />\n";
 
$smarty->assign('content', $cont_error);
	}
mysql_close (mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS)); 
 
 
 
 
	$smarty->display('index.tpl');
 
 
 
			} ; 
?>
 
Hallo, guck Dir mal diesen Bereich an:

else {
$cont_error = "<br />Zu diesem Thema wurden keine Daten gefunden bitte versuchen sie es später noch einmal<br />\n";

$smarty->assign('content', $cont_error);
}
mysql_close (mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS));




$smarty->display('index.tpl');



//hier liegt der Fehler } ;
?>
Ich Denke mir Du woltest das ganze in die If-Abfrage verpacken, aber die Anzahl der Klammern stimmt nicht.

Ciao Patrick
 
Die Anzahl der Klammern stimmt schon. Das ; hinter der geschweiften Klammer muss einfach weg. So sollte es aussehen:
PHP:
if($cat == "kuenstler") 
{
	$sql = "SELECT $db_ask_global FROM hb_kuenstler_info;";
	$result = mysql_query($sql) OR die(mysql_error());
	if(mysql_num_rows($result))
	{
		while($row = mysql_fetch_assoc($result))
		{
			$smarty->assign('content_image', $row['content_image']);
			$smarty->assign('content', $row['content_inhalt']);
			$smarty->assign('content_navi', $row['content_navi']);
		}
	}
	else
	{
		$cont_error = "<br />Zu diesem Thema wurden keine Daten gefunden bitte versuchen sie es später noch einmal<br />\n";
		$smarty->assign('content', $cont_error);
	}
	mysql_close (mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS));
	$smarty->display('index.tpl');
}

Und du solltest dir auch angewöhnen, deinen Quellcode ordentlich einzurücken, sonst kennt sich da keine Sau drin aus.

P.S.: Was soll diese Zeile bezwecken:
PHP:
mysql_close (mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS));
 
Hehe! Den Fehler hatte ich auch schon oft. Ganz am Anfang bin ich dran verzweifelt (hab damals auch nicht eingerückt und mit TextEditor geschrieben)

Bei dem Fehler hast du eigentlich immer eine Klammer vergessen. Meistens }.
Hol dir mal en gescheiten PHP-Editor (z.b. PHPCoder .... Links siehe hier im Forum (pinned Topics)) dann passiert das seltener
 
mist jetzt hab ich versehendlich auf erledigt geklickt =(

also dieses hier :

PHP:
 mysql_close (mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS));

soll dazu sein um die verbindung zur db zu beenden.... mein fos lehrer besteht darauf.... seh da zwar selber keinen sin drinn, weil das script doch sowiso nur einmal kurz in die db guckt und denn is gut... naja lehrer halt ... =)

joa nun hab ich alles schön eingerückt (benutze dreamweaver mx, soll ja der beste sein...)

hab keine fehlenden klammern mehr gefunden ... ABER .....

...
...
...

es geht immernoch nicht.. =(
nun sagt er immer:

Code:
  Parse error: parse error, unexpected T_ELSE in /is/htdocs/46664/www.holger-biege.de/kuenstler.php on line 37

hier mal der komplette scriptcode, hab bestimmt wieder woanders n fehler... =/


PHP:
  <?php
 require('configs/config.php');
 require('configs/sql_inc.php');
 require('configs/variablen.php');
  if(!@mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS)) {
   die("Es konnte keine Verbindung aufgebaut werden");
  }
  //echo "Verbindung wurde aufgebaut<br />\n";
  if(!mysql_select_db(MYSQL_DATABASE)) {
   die("Konnte Datenbank nicht benutzen, Fehlermeldung: ".mysql_error());
  }
  //echo "Die Datenbank wurde ausgewählt";
  // Hier kann man jetzt MySQL-Querys senden
   
	if(!isset($content)) 
	 {
	 $sql = "SELECT $db_ask_global FROM hb_kuenstler;";
	 $result = mysql_query($sql) OR die(mysql_error());
	 if(mysql_num_rows($result)) 
	 { 
	  while($row = mysql_fetch_assoc($result)) 
	  {
	   $smarty->assign('content_image', $row['content_image']);
	   $smarty->assign('content', $row['content_inhalt']);
	   $smarty->assign('content_navi', $row['content_navi']);
	  }
	 } 
	 else 
	 {
	  $cont_error = "<br />Zu diesem Thema wurden keine Daten gefunden bitte versuchen sie es später noch einmal<br />\n";
	  $smarty->assign('content', $cont_error);
	 }
	 mysql_close (mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS)); 
	 $smarty->display('index.tpl');
	  };
	  
	else 
	{ 
	 if($cat == "biographie") 
	 { 
	  $sql = "SELECT $db_ask_global FROM hb_kuenstler_biographie;";
	  $result = mysql_query($sql) OR die(mysql_error()); 
	  if(mysql_num_rows($result)) 
	  { 
	   while($row = mysql_fetch_assoc($result)) 
	   { 
		$smarty->assign('content_image', $row['content_image']); 
		$smarty->assign('content', $row['content_inhalt']); 
		$smarty->assign('content_navi', $row['content_navi']); 
	   } 
	  } 
	  else 
	  { 
	   $cont_error = "<br />Zu diesem Thema wurden keine Daten gefunden bitte versuchen sie es später noch einmal<br />\n"; 
	   $smarty->assign('content', $cont_error); 
	  } 
	  mysql_close (mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS)); 
	  $smarty->display('index.tpl'); 
	 } ;
	 if($cat == "kuenstler") 
	 { 
	  $sql = "SELECT $db_ask_global FROM hb_kuenstler_info;"; 
	  $result = mysql_query($sql) OR die(mysql_error()); 
	  if(mysql_num_rows($result)) 
	  { 
	   while($row = mysql_fetch_assoc($result)) 
	   { 
		$smarty->assign('content_image', $row['content_image']); 
		$smarty->assign('content', $row['content_inhalt']); 
		$smarty->assign('content_navi', $row['content_navi']); 
	   } 
	  } 
	  else 
	  { 
	   $cont_error = "<br />Zu diesem Thema wurden keine Daten gefunden bitte versuchen sie es später noch einmal<br />\n"; 
	   $smarty->assign('content', $cont_error); 
	  } 
	  mysql_close (mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS)); 
	  $smarty->display('index.tpl'); 
	 } ;
	}
 ?>


ist doch alles nicht so einfach wie ich dachte, hab das freiwillig als kurs inner schule gewählt weil alle immer sagen php ist soooo leicht... mhm aber irgenwie.... =/
 
DU hast schon wieder lauter ; nach }.
P.S.: mysql_close(mysql_connect(...)) macht nichts anderes, als eine Datenbankverbindung zu öffnen, und sofort wieder zu schließen. Wenn du die bestehende Verbindung schließen willst, musst du das Connection-Handle an die mysql_close() Funktion übergeben.
 
1:

$smarty->display('index.tpl');
} ;
}
Warum auch immer du ; schreibst.
Ansonsten 4 Leerzeichen ist der verbreitetste Standard. Ich rate dir das definitiv anzueignen und auch mal vielleicht die Fehlermeldungen selbst versuchen zu lösen. Dauert zwar eventuel etwas länger, aber du lernst es dann auch besser.

$id = mysql_connect();
mysql_close($id);

//Sag deinem Lehrer, dass die DB-Verbindung nach Scriptende sowieso geschlossen wird, weshalb mysql_close in deinem Fall eher Performanceverlust ist.
 
cewl es geht =)

danke für eure hilfe. hab ich endlcih mal was gelehrnt .... inne FOS bekommen se des ja nich auffe reihe uns das vernünftig bei zu bringen.

danke =)
 
Zurück