Das einlesen der Datei hat nicht richtig funktioniert, da keine neuen Zeilen angelegt wurden. Ich habe nun einfach ein
; als Trennzeichen zwischen den Datensätzen genommen. Außerdem hab ich die Datei nun anders eingelesen. Erst wird der gesamte Inhalt mit
file_get_contents() gelesen, dann werden die Datensätze über das
; unterschieden und auch noch durch
| getrennt. So funktioniert es jedenfalls bestens ;-).
PHP-Code:
<?
$username = $_POST["username"];
$password = $_POST["passwort"];
$password2 = $_POST["passwort2"];
if ($password == $password2) {
$user_vorhanden = array();
$passwort = md5($password);
$userdatei = fopen ("patrick1704.txt","r");
$userdatei = "patrick1704.txt";
$userdatei_inhalt = file_get_contents($userdatei);
$zeilen = explode(";",$userdatei_inhalt);
foreach($zeilen AS $zeile) {
$userdata = explode("|",$zeile);
array_push($user_vorhanden,$userdata[0]);
}
/*while (!feof($userdatei))
{
$zeile = fgets($userdatei,500);
$userdata = explode("|", $zeile);
array_push ($user_vorhanden,$userdata[0]);
}
fclose($userdatei);*/
if (in_array($username,$user_vorhanden)) {
echo "Username schon vorhanden <br> <a href=\"eintragen.html\">zurück</a>";
} else {
$userdatei = fopen ("patrick1704.txt","a");
fwrite($userdatei, $username);
fwrite($userdatei, "|");
fwrite($userdatei, $passwort);
fwrite($userdatei, ";");
fclose($userdatei);
echo "$username, deine Anmeldung war erfolgreich<br><a href=\"login.html\">zum Login</a>";
}
} else {
echo "Die Passwörter sind nicht identisch<br> <a href=\"eintragen.html\">zurück</a> ";
}
?>