Hallo Adrian,
Dein Quellcode ist nicht gerade sehr strukturiert dargestellt :-(
Kein Wunder, bin ja auch PHP-Anfänger... ;)
ich habe mir Deinen Code in Ruhe angeschaut und festgestellt, dass Du folgendes vorhast, die Notation ist in VMs eigenem Pseudo-Pseudocode gehalten :-)
Überprüfe Benutzername und Chatroom auf nicht erlaubte Zeichen
Wenn nicht erlaubte Zeichen verwendet wurden
Gebe eine Fehlermeldung aus
Sonst
Hänge einen Eintrag an eine bestimmte Datei an
Informiere den Benutzer über diese Aktion
Ende Wenn
Warum verwendest Du nicht für jeden Eintrag eine eigene Zeile?
Wie? Tue ich das nicht?
Nein, Du fügst nirgendwo in Deine Textdatei Zeilenenden, siehe PHP-Handbuch ein.
Über Konventionen zum Strukturieren von Quellcode kann man die schönsten Glaubenskriege führen, aber Du kannst Dir z.B. die PEAR Coding Standards anschauen.
Bei meiner Codeformatierung im folgenden Abschnitt spielt auch die Darstellung im Forum eine kleine Rolle, daher z.B. nur zwei Leerzeichen Einrückung :-)
$errormessage = 'Fehler: Sie dürfen nur die Zeichen '
. 'a, b, c, d, e, f, g, h, i, j, k, l, m, '
. 'n, o, p, q, r, s, t, u, v, w, x, y, z, '
. 'A, B, C, D, E, F, G, H, I, J, K, L, M, '
. 'N, O, P, Q, R, S, T, U, V, W, X, Y, Z, '
. '0, 1, 2, 3, 4, 5, 6, 7, 8, 9 '
. 'verwenden für Ihren Username und den Chatroom!'
$userdata = 'Datum: ' . date("d.m.Y")
. ', Zeit: ' . date("H:i:s")
. ', Zeitzone des Clients: ' . date("T")
. ', IP: ' . getenv("REMOTE_ADDR")
. ', Username: ' . $_POST["username"]
. ', Chatroom: ' . $_POST["chatroom"]
. "\n";
$userinfo = " Deine Daten sind erfolgreich aufgezeichnet worden:<br />\n "
. $userdata;
$filename = "userips.txt";
if(preg_match("/[^a-zA-Z0-9]*/", $_POST["username"].$_POST["chatroom"])) {
echo $errormessage;
}
else {
$fh = fopen($filename, 'a+');
if(!$fh) {
die("Diesen Fehler müsstest Du geeignet behandeln :-)\n");
}
$write_ok = fwrite($fh, $userdata);
if ($write_ok) {
echo $userinfo;
}
else {
}
[link:http:
}
Der Code ist noch lange nicht vorbildlich und insbesondere die Fehlerbehandlung noch sträflich vernachlässigt. Er sollte Dir einen Einblick geben, auf was Du beim Umgang mit Dateien achten musst. Jede Dateioperation kann prinzipiell fehlschlagen und Du solltest Dir überlegen, wie Du mit einem solchen Fehler am geschicktesten umgehst.
Entschuldigung, war nicht so gemeint. Es war nur, dass ich das Projekt für unseren Clan zum Ausprobieren mache und damit eigentlich bis Weihnachten fertig sein wollte/sollte. -.-
Na dann viel Erfolg dabei.
Freundliche Grüße
Vinzenz