Tach!
Zum anderen er funktioniert nicht und ich weiss nicht warum.
Wenn Wunsch und Wirklichkeit nicht übereinstimmen, muss man Debuggen. Im einfachsten Fall geht das mit Kontrollausgaben aller beteiligten Werte und Funktionsergebnisse.
Zu dem Code hab ich 2 Fragen kann ich das vereinfachen?
$status=strip_tags($_GET['msg']);
Warum strip_tags()? Wenn der User Mist eingibt, muss das nicht nur in Form von HTML geschehen. Wichtig ist, dass bei der Ausgabe kontextgerecht behandelt wird.
$users = fopen($userpath.$\_GET['room']."\_users.txt", 'r'); $userlist=fread($users, filesize($userpath.$\_GET['room']."\_users.txt"));
Hier musst du sogar noch komplexer programmieren, Aus einer Benutzereingabe einen Dateinamen zu generieren und denn dann nicht zu prüfen, worauf er letzlich wirklich zeigt, ist fahrlässig. realpath() gibt den Pfad nach Bereinigen von Verzeichniswechseln zurück. Den kannst du dann prüfen, ob er auf ein von dir vorgesehenes Verzeichnis zeigt.
dedlfix.