unexpected $ ? keine Ahnung warum!

Kinger

Mitglied
Hi@all...


Ich bekomme immer den Fehler:
"Parse error: parse error, unexpected $ ... on line 50"

Ich weiß einfach nicht warum.

das hier steht in der Zeile 50:
Code:
echo ("<br>".$text);

Habe schon alles ausprobiert ... komm aber einfach nicht weiter! :(
Habt Ihr vielleicht eine Idee was das sein könnte?

MfG Kinger
 
Der Syntaxfehler wird sicherlich vor dieser Zeile liegen, wahrscheinlich fehlt eine Auszeichnung einer Zeichenkette.
 
Wenn ich bei solchen sachen nicht weiterkommen teile ich sie einfach in zwei echobefehle.
Code:
echo ("<br>");
echo $text ;
Ich denke, so sollte es klappen

Phico
 
Also erst mal Danke für die schnellen AW´s.

@phico: Habe es ausprobiert. Funktioniert aber leider auch nicht!

@Gumbo: Hier ist mal der ganze code:
PHP:
<?PHP
  function count_clubs($dir, $text, $lesen)
    {
    if(is_dir($dir))
      {
      $afile[directory]=0;
      chdir($dir);
      $handle=opendir(".");
      while($file=readdir($handle))
        {
        if(is_dir($file) && $file!="." && $file!="..")
          {
	  if ($lesen == "yes") {
			if (file_exists("../".$file.".jpg")) {
				$text =  $text."<td width='30%' align='center'>
						<img border='0' src='../pics/".$file.".jpg'></td>";
			} else {
				$text =  $text."<td width='30%' align='center'>
						<img border='0' src='../pics/noclubpic.jpg'>";
			}
			$text =  $text."<td width='70%' align='center'>".$file."</td>";
        $afile[directory]++;

        }
	closedir($handle);
      }
    return $text;
    }

 // Aufruf der Funktion

  $text = "<div align='center'><center>
	   <table border='1' cellpadding='0' cellspacing='0' style='border-collapse: collapse' bordercolor='#C0C0C0' width='90%' id='AutoNumber1'>
	   <tr>";
  $lesen = "no";
  $dir="../pics/aktuell/";
  $aktuellO = count_clubs($dir, $text, $lesen);
  $dir="../archive/";
  $archiveO = count_clubs($dir, $text, $lesen);

	if ($aktuell == $archive) {
		$lesen = "yes";
		$dir = "../aktuell/";
		$text = count_clubs($dir, $text, $lesen);
	}
  $text = $text."</tr><tr><td width='100%' colspan='2' height='10'></td>
		</tr></table></center></div>";
	
  echo ("<br>");
  echo $text;
?>
 
Zuletzt bearbeitet:
Probier mal Folgendes:
PHP:
<?php

	function count_clubs($dir, $text, $lesen) {
		if( is_dir($dir) ) {
			$afile['directory'] = 0;
			chdir($dir);
			$handle = opendir('.');
			while( $file = readdir($handle) ) {
				if( !is_dir($file) || $file == '.' || $file == '..' ) {
					continue;
				}
				if( $lesen == 'yes' ) {
					if( file_exists('../'.$file.'.jpg') ) {
					$text .= '<td width="30%" align="center"><img border="0" src="../pics/'.$file.'.jpg"></td>';
				} else {
					$text .= '<td width="30%" align="center"><img border="0" src="../pics/noclubpic.jpg">';
				}
				$text .= '<td width="70%" align="center">'.$file.'</td>';
				$afile['directory']++;
			}
			closedir($handle);
		}
		return $text;
	}


	// Aufruf der Funktion

	$text = '<div align="center"><center>
       <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#C0C0C0" width="90%" id="AutoNumber1">
       <tr>';
	$aktuell = count_clubs('../pics/aktuell/', $text, 'no');
	$archive = count_clubs('../archive/', $text, 'no');

	if( $aktuell == $archive ) {
		$text = count_clubs('../aktuell/', $text, 'yes');
	}
	$text .= '</tr><tr><td width="100%" colspan="2" height="10"></td>
        </tr></table></center></div>';
    
	echo '<br>'.$text;

?>
Übrigens ist HTML eine Auszeichnungs- und keine Darstellungs- oder Formatierungssprache.
 
Zuletzt bearbeitet:
Schreibe bitte mal die ganze Fehlermeldung hin. Da müsste ein "expecting ?" fehlen.

Ein anderer Punkt noch: du verwendest als Arrayindex die Konstante directory. Diese entspricht zufällig dem String "directory", da sie nicht definiert ist, da ist PHP großzügig. Sollte die Konstante jedoch später einmal definiert werden (weil Du z.B. den Quelltext umbaust oder das Script irgendwo includest oder PHP diese Konstante in einer späteren Version belegt oder oder oder), wird Dein Skript nicht mehr funktionieren. Besser ist Du schreibst "directory" oder 'directory'. Vergiss das, wenn Du bewusst eine Konstante verwendest, die bereits irgendwo definiert wurde.

Gruß hpvw

Edit: Gumbo hatte wohl dieselbe Idee
 
Fehler ist geblieben (genau der gleiche)! :(

Was meinst Du mit deinen letzten Satz?
(Sollte Ich mehr CSS benutzen?)

nachtrag:
@hpvw:

Das ist schon die komplette Fehler-Meldung! Mehr kommt nicht!
Wegen 'direktory': Eigentlich könnte ich sie auch rausnehmen.
benutze sie in diesem Script nicht mehr.
(Hatte Ich bloß übersehen und drin gelassen!)

MfG Kinger
 
Zuletzt bearbeitet:
Ich muss mich erst noch an einen sauberen Script-Stil gewöhnen.
Bin halt noch . Aber Ich nehme mir das zu Herzen.

CSS kommt da auch noch rein. Das Script ist jetzt aber erst einmal
ein vorläufer.

Hast Du denn noch ne Idee was das nun mir dem Fehler sein kann?

MfG Kinger
 
Zurück