Veröffentlicht 4. November 200816 j Tach, Erstmals möcht ich erwähnt haben, dass ich ein absoluter php-Neuling bin. Ich hab hier mal meine ersten Versuche mit einen php-loginscript versucht, funktioniert auch, nur sobald ich mehrere Accounts registriert habe und logge mich nicht mit dem ersten acc ein den ich erstellt habe, bekomme ich sämtliche Fehlermeldungen, da er als erstes mit den anderen acc's vergleicht und das auch als echo ausgibt :S Hier mal die Seite, damit ihr euch es auch mal in der Praxis ansehen könnt. >Hier< und hier der Quellcode: Registrierungsformular: <form method="post" action="speichern.php"><br> User:<input type="text" name="user"><br> Passwort:<input type="password" name="pass"><br> <input type="submit" value="absenden"><br> </form> Php-script zum speichern: <?php $user = $_POST["user"]; $pw = $_POST["$pass"]; $pass = md5($pass); $daten = fopen("daten.txt","a+"); fwrite($daten, $user); fwrite($daten, "||"); fwrite($daten, $pass); fwrite($daten,"\n"); fclose($daten); ?> <html> <header> </header> <body> <a href="Loginformular.html">Zurück zum Login</a> </body> </html> Login-Formular: <form action="loginscript.php" method="post"> User:<input type="text" name="user"><br> Passwort:<input type="password" name="pass"><br> <input type="submit" value="Login"> <a href="regi.html">(Registrieren)</a> </form> Und zu guter letzt das Loginscript: <?php $user = $_POST["user"]; $pass = $_POST["pass"]; $pass = md5($pass); $log = 0; function loaddata() { if(file_exists("daten.txt")) { $data = file("daten.txt"); } return $data; } if($user && $pass) { $data = loaddata(); $i = 0; foreach($data as $erg) { $erg = explode("||", $erg); if((trim($user)==trim($erg[0])) && (trim($pass))==trim($erg[1])) { echo "Herzlich Willkommen $user"; } else { echo "Benutzername $user oder Passwort falsch geschrieben. Andernfalls bitte registrieren."; } $i++; } } else { echo ""; } ?> Hoffe ihr könnt mir helfen :S Mfg Cartman
4. November 200816 j Liest doch die Text-Datei Zeile für Zeile ein und überprüfe den jeweiligen Inhalt nach dem eingegebenen Benutzernamen.o.ä. Mein Rat: Nimm für die ganze Angelegenheit eine Datenbank. Ist am Ende sicherer, falls dein Skript zum praktischen Einsatz kommt! In der DB machst du dann einfach einen Select auf den Datensatz WHERE username = '...';......is am einfachsten, wie ich finde.
4. November 200816 j Erstmal vorweg zu deiner Datei Daten.txt Wenn du die Daten in einer Datei speichern möchtest, dann lass sie in eine *.php datei schreiben, denn im Moment kann jeder der /daten.txt im browser aufruft die Nutzer sehen. Der Inhalt der PHP-dateien ist aus dem Browser heraus nicht einsehbar. Hier nun ein Vorschlag wie du dein Problem mit einer Hilfsvariable lösen könntest Änderung im Login-script: <?php $user = $_POST["user"]; $pass = $_POST["pass"]; $pass = md5($pass); $log = 0; function loaddata() { if(file_exists("daten.txt")) { $data = file("daten.txt"); } return $data; } if($user && $pass) { $data = loaddata(); $i = 0; $logged = false; foreach($data as $erg) { $erg = explode("||", $erg); if((trim($user)==trim($erg[0])) && (trim($pass))==trim($erg[1])) $logged=true; $i++; } if($logged) { echo "Herzlich Willkommen $user"; } else { echo "Benutzername $user oder Passwort falsch geschrieben. Andernfalls bitte registrieren."; } } else { echo ""; } ?> [/PHP] Grüße Padjon Bearbeitet 4. November 200816 j von Padjon
4. November 200816 j Dankeschön, hab jetzt mal statt der Daten.txt ne php-Datei hergenommen und die Änderungen von Padjon übernommen, jetzt funktionierts ohne Prob's
4. November 200816 j Schau mal hier du musst noch die php-Tags drum rum bauen lassen beim speichern sonst wird der inhalt weiterhin angezeigt <?php ?>
4. November 200816 j ich empfehle wirklich ganz dringend das einmal zu lesen und zu verwenden: PHP: Sessions - Manual Phil
5. November 200816 j Nette Seite ^^ aber ich finde für den Anfang diese Seite etwas verständlicher >http://www.php-einfach.de/php-tutorial/ Sobald ich mit der durch bin mach ich mich an die andere ran
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.