kointa: foreach zählt 1 zu weit !?

Beitrag lesen

Hi all,

ich habe mir ein kleines php skript geschrieben, dass mir eine tabelle mit daten aus einer datei darstellt. Nur habe ich das Problem, dass die foreach() schleife mir irgendwie 1 zu weit zählt.
Also wenn ich mir das Array durchzählen lasse mit echo count($newgame) dann zeigt es mir zb. 4 an obwohl ich nur 3 games eingetragen habe, folglich wird mir eine leere zeile in meine seite geschrieben.

Das skript sieht folgendermaßen aus:

newgame.php

<?php  
$id = $_POST["id"];  
$url = $_POST["url"];  
$altname = $_POST["altname"];  
$name = $_POST["name"];  
  
if ($id == "" or $url == "" or $altname == "" or $name == "")  
{  
  echo "Es wurden ein oder mehrere Felder nicht korrekt ausgef&uuml;llt";  
}  
else  
{  
  $newgame = "$id|$url|$altname|$name";  
  $datei = fopen("gamelist.txt", "a");  
  fwrite($datei, "\n".$newgame);  
  fclose($datei);  
  
 echo "Eintrag wurde &uuml;bernommen";  
}  
?>

list.php

<?php  
$newgame = file("gamelist.txt");  
krsort($newgame);  
echo "<table id=\"gamelist\" border=\"0\" align=\"center\">";  
echo "<tr>";  
  
echo count($newgame);  
  
$i=0;  
foreach ($newgame as $ausgabe)  
{  
  $ausgabe = stripslashes($ausgabe);  
  $zerlegen = explode("|", $ausgabe);  
  
  echo "<th><a href=\"?id=$zerlegen[0]\" onclick=\"return loadGame(this.href)\"><img src=\"$zerlegen[1]\" alt=\"$zerlegen[2]\" border=\"0\"><br>$zerlegen[3]</a></th>";  
  $i++;  
  
  if ($i == 3)  
  {  
    echo "</tr><tr>";  
    $i=0;  
  }  
}  
  
echo "</tr></table>";  
?>

Reichen die infos aus oder soll ich den Inhalt der gamelist.txt auch noch posten ? da würde jetzt zb. folgendes drin stehen:

40|http://blalbu.de|namedesspiels|name des spiels

nur würde die count funktion hierfür 2 anstatt 1 ausgeben.

hoffe das problem kennt jemand und kann mir helfen.

vielen dank
kointa