Adrian: Kleinen Schönheitsfehler beheben

Beitrag lesen

Hallo!

Ist NICHT so kompliziert wie es aussieht (denke ich).
Bitte nehmt euch nur die Zeit es durchzulesen, schwer ist es denke ich nicht.

Ich habe folgende Funktion:

  
function insert_usersonline() {  
  // Fehlermeldung bei fehlgeschlagener Verbindung zu $filename  
  $errormessage_open  = 'Fehler: Es konnte keine Verbindung zur'  
                      . "Datei hergestellt werden! \n          ";  
  // Fehlermeldung bei fehlgeschlagenem Lesen von $filename  
  $errormessage_read  = 'Fehler: Die Datei konnte nicht '  
                      . "gelesen werden! \n          ";  
  // Fehlermeldung bei fehlgeschlagenem Schließen von $filename  
  $errormessage_close = 'Fehler: Die Datei konnte nicht '  
                      . "geschlossen werden! \n          ";  
  // Fehlermeldung bei fehlgeschlagenem Erstellen des Ausgabestrings  
  $errormessage_output = 'Fehler: Die Ausgabe konnte nicht'  
                      . "erstellt werden! \n          ";  
  // Usersonlinedatei  
  $filename           = 'usersonline.txt';  
  // Ausgabestring  
  $usersonline_output   = '          ';  
  
  // Überprüfung und Ausgabe der Datei erfolgt  
  $fh = fopen($filename,'rb');  
  if(!$fh) {  
    // Fehlerausgabe aufgrund von fehlgeschlagenem Verbindungsversuch  
    echo $errormessage_open;  
  }  
  else {  
    // Inhalt von der Datei in $usersonline auslesen  
    $usersonline = fread($fh,filesize($filename));  
    if(!$usersonline) {  
      // Fehlerausgabe aufgrund von fehlgeschlagenem Leseversuch  
      echo $errormessage_read;  
    }  
    else {  
      // Zusammensetzen des Ausgabestrings  
      // Array der Einträge wird erstellt  
      $usersonline_array = explode(";",$usersonline);  
      // Schleife, um die Einträge von der Datei aneinanderzuhängen  
      for($x = 0; $x < count($usersonline_array); $x++) {  
        // Der aktuelle Arrayabschnitt wird angefügt  
        $usersonline_output = $usersonline_output . $usersonline_array[$x];  
        if(x < count($usersonline_array)-1) {  
          // Schleife ist noch nicht am Ende angelangt  
          $usersonline_output = $usersonline_output . "<br />\n          ";  
        }  
        elseif(x == count($usersonline_array)-1) {  
          // Schleife ist am Ende angelangt  
          $usersonline_output = $usersonline_output . "\n";  
        }  
        else {  
          // Der Wert ist größer als count($usersonline_array) (!!!)  
          echo $errormessage_output;  
        }  
      }  
      // Schließe Datei  
      $close_ok = fclose($fh);  
      if(!$close_ok) {  
        // Fehlerausgabe aufgrund von fehlgeschlagenem Schließversuch  
        echo $errormessage_close;  
      }  
      // Ausgabe des zusammengesetzten Ausgabestrings  
      echo $usersonline_output;  
    }  
  }  
}  

Diese Funktion soll den Inhalt folgender Datei ausgeben:

"usersonline.txt":
Test1;Test2;Test3

Im Quelltext der HP steht dann:

  
          Test1<br />  
          Test2<br />  
          Test3<br />  
                  </div>  

Es hat zwar keine Auswirkungen auf die Darstellung im Browser,
aber warum zeigt er nicht:

  
          Test1<br />  
          Test2<br />  
          Test3  
        </div>  

Wobei mir gerade auffällt, dass es so der Firefox anzeigt, wenn ichs aber markiere und hierherkopiere, fügt er das ein:

  
          Test1<br />  
          Test2<br />  
          Test3<br />  
  
                  </div>  

Warum auch immer... Was habe ich in der PHP-Funktion falsch geschrieben?

Mit freundlichen Grüßen,
Adrian