PHP - Profilsystem?
Übersicht

CO2ehemals "SirMO"Betreff: PHP - Profilsystem? |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo,
momentan lerne ich ein wenig php. Nur habe ich nun ein Problem: Ich versuche eine Seite zu schreiben, auf der man sich zuerst einmal einloggen bzw. registrieren muss und dann die Möglichkeit hat einen "Gästebuch" Eintrag zu schreiben. Nur funktioniert bei mir das Einloggen nicht... hier mal der Code: start.html Code: [AUSKLAPPEN] <html>
<head> <title>Gästebuch - Einloggen</title> </head> <body> <form action="start.php" method="post"> Für Gästebuch einloggen: <br> <table> <tr><td>Username:</td><td><input type="Text" name="username"/></td></tr> <tr><td>Passwort:</td><td><input type="Password" name="passwort"/></td></tr> </table> <input type="Submit" value="Einloggen"/> </form> ODER<br> <a href="register.html">Neues Konto erstellen</a> </body> </html> start.php Code: [AUSKLAPPEN] <?php
$expusername = $_POST["username"]; $exppassword = md5($_POST["passwort"]); $userdata = array(); $accounts = fopen("accounts.csv", "r"); $foundacc = 0; while(!feof($accounts) or $foundacc == 1) { $tempuserdatasave = fgets($accounts); //ab Hier gibt es Probleme $userdata = explode(";", $tempuserdatasave); echo("$userdata[0]<br>$userdata[1]<br>$userdata[2]<br>$userdata[3]<br>$userdata[4]<br><br>"); if($userdata[0] == $expusername) { if($userdata[4] == $exppassword) { echo("Herzlich willkommen $userdata[2], $userdata[1] ($userdata[0])"); $foundacc = 1; } } } if($foundacc == 0) { echo("Benutzerkonto mit Username $expusername nicht gefunden!"); } fclose($accounts); ?> register.html Code: [AUSKLAPPEN] <html>
<head> <title>Registrierung</title> </head> <body> <form action="register.php" method="post"> <table> <tr><td>Vorname:</td><td><input type="Text" name="vorname"/></td></tr> <tr><td>Nachname:</td><td><input type="Text" name="nachname"/></td></tr> <tr><td>Username:</td><td><input type="Text" name="username"/></td></tr> <tr><td>E-Mail:</td><td><input type="Text" name="email"/></td></tr> <tr><td>Passwort:</td><td><input type="Password" name="passwort"/></td></tr> </table> <input type="Submit" value="Abschicken"/> </form> </body> </html> register.php Code: [AUSKLAPPEN] <?php
$vorname = $_POST["vorname"]; $nachname = $_POST["nachname"]; $email = $_POST["email"]; $username = $_POST["username"]; $passwort = md5($_POST["passwort"]); $accounts = fopen("accounts.csv", "a"); fwrite($accounts, $username .";". $vorname .";". $nachname .";". $email .";". $passwort ."\n"); echo("Ihr Benutzerkonto wurde erfolgreich erstellt!<br><br>Vorname: $vorname<br>Nachname: $nachname<br>E-Mail: $email<br>Passwort: ". $_POST["passwort"] .""); fclose($accounts); ?> Wenn ich ein Konto registriere, wird es in der accounts.csv gespeichert. Versuche ich mich mit dem Konto anzumelden so kommt jedoch immer die Meldung "Benutzerkonto mit Username $expusername nicht gefunden!"... Warum? |
||
mfG, CO²
Sprachen: BlitzMax, C, C++, C#, Java Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti |
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du lässt dir $userdata beim einloggen ja eh ausgeben... was siehst du da? Sind die eingegebenen Login-Daten aufgelistet? Wenn nicht, was steht sonst da? An dem Punkt solltest du selber debuggen können.
mfG, Christoph |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
CO2ehemals "SirMO" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Es wird anscheinend alles korrekt ausgelesen, die Ausgabe ist wie erwartet... Aber anscheinend ist der Vergleich zwischen den beiden Strings trotz das der eine richtig ausgelesen wurde falsch... | ||
mfG, CO²
Sprachen: BlitzMax, C, C++, C#, Java Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti |
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
dann mach doch einfach ein paar mehr echos rein zu testzwecken:
Code: [AUSKLAPPEN] <?php
$expusername = $_POST["username"]; $exppassword = md5($_POST["passwort"]); $userdata = array(); $accounts = fopen("accounts.csv", "r"); $foundacc = 0; while(!feof($accounts) or $foundacc == 1) { $tempuserdatasave = fgets($accounts); //ab Hier gibt es Probleme echo " neue zeile"; $userdata = explode(";", $tempuserdatasave); echo("$userdata[0]<br>$userdata[1]<br>$userdata[2]<br>$userdata[3]<br>$userdata[4]<br><br>"); echo " ist !" . $userdata[0] . "! wirklich gleich !" . $expusername . "! ???"; if($userdata[0] == $expusername) { echo " ja "; if($userdata[4] == $exppassword) { echo("Herzlich willkommen $userdata[2], $userdata[1] ($userdata[0])"); $foundacc = 1; } } } if($foundacc == 0) { echo("Benutzerkonto mit Username $expusername nicht gefunden!"); } fclose($accounts); ?> und das selbe für das passwort... immer viele echos machen, um die fehlerquelle einzukreisen. |
||
Gewinner des BCC #53 mit "Gitarrist vs Fussballer" http://www.midimaster.de/downl...ssball.exe |
c64 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Code: [AUSKLAPPEN] $tempuserdatasave = fgets($accounts); //ab Hier gibt es Probleme $userdata = explode(";", $tempuserdatasave); Versuchs mal mit ..... Code: [AUSKLAPPEN] fgetcsv() Ist zumindest das Einzige was mir hier spontan ins Auge fällt, sonst konnte ich nichts finden auf den ersten Blick! Mehr Infos! (klick) edit: Oder nutze mal probehalber trim (reicht beim gespeicherten PWD!), kann ja sein das sich irgentwie beim speichern oder laden ein Steuerzeichen "eingeschlichen" hat weil du es normal speichern und laden tust anstatt mit den CSV Funktionalitäten. Code: [AUSKLAPPEN] if(trim($pwd1)==trim($pwd(2)) (nur tips!, keine zeit mir das jetzt genauer anzusehen bzw. zu probieren!) mfg. |
||
![]() |
Mathias-Kwiatkowski |
![]() Antworten mit Zitat ![]() |
---|---|---|
wie wäre es wenn du es mit php & mysql versuchst.
eine gute anlaufstelle wäre http://www.schattenbaum.net/php/mstart.php das gute daran wäre das informationen die man vom user haben will oder braucht, direckt in einer tabelle ablagern kann (mysql) und nich in einer txt. warscheinlich is das nur geschmacksache wie man es macht aber ich zumindest habe die erfahrung gemacht das php und mysql dicht zusammengehörren und es in kombination viel leichter ist. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group