dedlfix: letzte Zeile in .txt löschen

Beitrag lesen

echo $begrüßung;

Ja! Es funktioniert! Vielen Dank an alle, die mich unterstützt haben.

Nun ja, es funktioniert, aber ziemlich umständlich.

  
$chatFileName = 'chat.txt';  
  
// Chat-Datei in Array ein lesen  
$chat = file($chatFileName);  
  
  
if (isset($_POST['send']) and $_POST['send'] == "Senden")  // [*] Fußnote beachten  
  
  // neue Zeile hinzufügen  
  array_unshift($chat, $_POST['eing'] . "\n");  
  
// ab Zeile 11 löschen  
array_splice($chat, 10);  
  
// zurückschreiben  
$newFile = fopen($chatFileName, 'w');  
fwrite($newFile, implode('', $chat));  
fclose($newFile);  

Was noch fehlt ist file locking und eine Fehlerbehandlung beim Schreibvorgang.

Ich hab das <br> beim Einfügen weggelassen. Die Ausgabe erfolgt dann so:

$chatContent = file_get_contents($chatFileName);
echo nl2br(htmlspecialchars($chatContent));

Mit dem htmlspecialchars() stellst du sicher, dass die Zeichen <, >, " und & HTML-gerecht maskiert werden. Damit wird die Einschleusung von HTML- und sonstigem Script-Code entschärft.

echo "$verabschiedung $name";

[*] Das Absenden mit Enter funktioniert im IE nicht, weil der, anders als bspw. der FireFox, den Button nicht mitsendet. Hier hilft ein gleichlautendes hidden field. Oder du testest gleich auf
isset($_POST['eing']) and strlen($_POST['eing'])