Hallo!
Ich habe folgenden Code:
<?php
$continuation=true;
//Überprüfung der Eingaben
if(ereg("/[a-zA-Z0-9]*/",$_POST["username"].$_POST["chatroom"])==true) {
$continuation=false;
echo "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!";
}
//IP Aufzeichnung
if($continuation==true) {
$userips_connection=fopen("userips.txt","a+b");
if(filesize("userips.txt")==0) {
$userips="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"];
}
else {
$userips=fread($userips_connection,filesize("userips.txt"));
$userips=$userips.";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"];
}
fwrite($userips_connection,$userips);
$userips_output_array=explode(";",$userips);
$userips_output=$userips_output_array[count($userips_output_array)-1];
echo " Deine Daten sind erfolgreich aufgezeichnet worden:<br />\n ".$userips_output;
fclose($userips_connection);
}
?>
Wenn ich nun in das vorherige Formularfeld eine Eingabe wie "Test" machen, dann geht er normal durch die erste Überprüfung.
Wenn ich aber zum Beispiel "Test<br>" (was ja vermieden werden soll) eingebe, dann geht er trotzdem durch die ereg() Überprüfung.
Ich habe die ereg() Funktion zum ersten Mal benutzt, als habt Nachsicht... ;)
Zweites Problem: Wenn ich das erste mal was in "userips.txt" eintrage, dann funktioniert alles, in der Datei steht dann ganz normal das, was ich eintragen wollte.
Wenn ich nun ein zweites Mal etwas hineinschreiben lasse, nachdem sie nicht mehr leer ist, dann steht das erste da, plus das zweite allerdings ohne ";" abgegrenzt und dann nochmal mit ";" abgegrenzt... !?
Könntet ihr mir bitte helfen? Ich weiss nicht was ich falsch mache, hab schon rumprobiert...
Mit freundlichen Grüßen,
Adrian