Log in Daten benutzen (PHP)
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
administrator
adresse
benutzername
datei
daten
email
exit
falsches passwort
fertig email
gen
inhalt
login
pa
pawort
reihen
result
sache
tabelle
unbekannter benutzername
username
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
?nder mal bitte jemand den Titel in :
"(PHP)Script zum Einloggen in ein PHPbb Forum"
Der jetztige l?sst ein irgendwas mit einer Log Datei vermuten, wenn man die Threads ?berfliegt.
@alm :
Du hast drei M?glichkeiten (zwei davon die, die mein Vorposter erw?hnte) : PHP zu lernen, etwas daf?r zu bezahlen oder lange warten, bis jemand es umsonst macht.
MfG Lucas -
Ich wei? ja nich ob das viel ARbeit ist! Oder ob es sowas vll. gibt?
Schon?
Mfg Marcel -
Klar ist das Arbeit!
F?r'n Neuling gehen da oft locker ein paar Stunden rum, weil man tausend Fehler macht.
Aber auf die Dauer ... wird man eben schlauer
Und dann geht's viel flotter ... -
K?ntte mir dann vll. mal jemand sagen wie ich GENAU DAS bitte lernen kann?
Ich muss ja nurn Login Sript im Prnzip anpassen, sodass es die daten aus ner anderen MSql Tabelle bezieht, die dann die Tabelle vom Php bb is oder?
Mfg Marcel -
Ach f?r ein Login Script wollt ihr Geld??
Ich mach das Umsonst ist doch keine Gro?e Sache! -
Ach f?r ein Login Script wollt ihr Geld??
Ich mach das Umsonst ist doch keine Gro?e Sache!
W?re geil!
Es muss aber so sien,dass es die Login Daten aus der
Php bb tabelle bezieht! -
Kein Prob.
Zeig mal die PHPbb2 Mysql Tabelle.
Ich kann ja nicht riechen wie die ausieht?!? -
Sagen wir mal ein Loginscript ist eine Sache von
1 Tag -
Sagen wir mal ein Loginscript ist eine Sache von
1 Tag
Ein Tag hat 24 Stunden und wer diese Zeit daf?r braucht, der sollte sich lieber nicht freiwillig melden...
In der Zeit kann der Threadersteller ein wenig PHP lernen und sich das Ganze selber proggen. ^^ -
hab da was, aber ich weis nich, ob es sowas ist, wie du es willst, wenn nein, dann musst du es halt entsprechend ver?ndern :
if(!isset($_COOKIE["gbl"]) OR $_COOKIE["gbl"] != "32487564165476323246543245643257") { if(isset($_POST["pw"])) { mysql_connect("host", "name", "passwort"); mysql_select_db("datenbank"); $user = strtolower($_REQUEST["name"]); $abfrage = "SELECT user_active, username, user_password FROM forum_users"; $ergebnis = mysql_query($abfrage); while($row = mysql_fetch_array($ergebnis)) { if(strtolower($row["username"]) == $user AND $row["user_password"] == md5($_POST["pw"])) { $loged = 1; break; }else{ $loged = 0; } } if($loged === 0) { echo("<!--".strtolower($row["username"])." <-> ".$user."-->\n"); printf("Falsches Passwort, oder falscher Benutzername (%s)!", $user); exit(); } }else{ ?> <form method="POST" action="index.php?id=gbl"> Name: <input name="name" type="text"><br> Passwort: <input name="pw" type="password"><br> <input type="submit" value="Senden"></form> <?php echo("\n</div> <!-- Inhalt Ende -->\n</body>\n</html>"); exit(); } } setcookie("gbl", "32487564165476323246543245643257", time()+604800);
-
Ein solches Script zu schreiben ist kein Problem. Das Problem ist, dass die Leute nicht wissen, wie die Datenbank aufgebaut ist.
Die Userdaten stehen in der Tabelle "*_users", wobei "*" f?r die Pr?position deiner Tabellen steht. Der Benutzername steht in der Spalte "username", das Passwort in "user_password" als MD5-Code.
Das musst Du nur noch in dein Script einbauen. -
Hier ist jetzt mal ein Sript!
DIE INDEX DATEI
<? if ($anmelden) { anmelden($fertig, $user, $password1, $password2, $email);} else if ($abmelden) { abmelden($fertig, $user, $password);} else if ($forgot) { forgot($fertig, $email);} else { login($fertig, $user, $password);} ?> <? function inhalt($user) { session_start(); session_register("user"); ################################## #Bauen Sie hier Ihren Inhalt ein!# # # ?> <b>Gesch?tzter Inhalt!</b> <? # # # Ab hier nichts mehr ?ndern! # ################################## } ?> <? function login($fertig, $user, $password) { include("config.php"); if ($fertig) { $abfrage = mysql_query ("SELECT * FROM login WHERE user = '$user'"); $reihen = mysql_num_rows($abfrage); if ($reihen <= 0) { echo "Unbekannter Benutzername!"; } else { while ($row = mysql_fetch_object ($abfrage)) { if ($row->password==$password) { inhalt($user); } else { echo "Falsches Passwort!"; } } } } else { echo "Zum anmelden geht es <a href=\"$PHP_SELF?anmelden=yes\">hier</a> lang!"; echo "<p><h2>Login</h2></p>"; echo "<form method=\"POST\" action=\"$PHP_SELF?fertig=yes\">"; ?> <table cellspacing="1" cellpadding="2" border="0"> <tr> <td><font size="2">Benutzername:</font></td> <td><font size="2"><input type="text" name="user" value=""> </font></td> </tr> <tr> <td><font size="2">Passwort:</font></td> <td><font size="2"><input type="password" name="password" value=""></font></td> </tr> <tr> <td colspan=2 align=center><input type=submit value=Login></td> </tr> </table> </form> <? echo "<p><a href=\"$PHP_SELF?forgot=yes\">Passwort vergessen?</a><br><a href=\"$PHP_SELF?abmelden=yes\">Abmelden</a></p>"; } } ?> <? function anmelden ($fertig, $user, $password1, $password2, $email) { include("config.php"); if($fertig) { $abfrage1 = mysql_query("SELECT user FROM login"); while ($row = mysql_fetch_object ($abfrage1)) { if ($row->user==$user) { echo "Dieser Benutzer existiert schon!"; exit; } } if ($user=="" OR $password1=="" OR $password2=="" or $email=="") { echo "Sie haben mindestens ein Feld nicht ausgef?llt!"; } else if ($password1!=$password2) { echo "Ihr Passwort ist ungleich Ihrer Wiederholung!"; } else { $anfuegen=mysql_query("INSERT INTO login (user, password, email) VALUES ('$user','$password1', '$email')"); echo "Erfolgreich angemeldet! Sie k?nnen sich nun einloggen:<br>"; @login(); } } else { echo "<h2>Anmelden</h2>"; echo "<form method=\"POST\" action=\"$PHP_SELF?anmelden=yes&fertig=yes\">"; ?> <table cellspacing="1" cellpadding="2" border="0"> <tr> <td><font size="2">Benutzername:</font></td> <td><font size="2"><input type="text" name="user" value=""> </font></td> </tr> <tr> <td><font size="2">Passwort:</font></td> <td><font size="2"><input type="password" name="password1" value=""></font></td> </tr> <tr> <td><font size="2">Wiederholen:</font></td> <td><font size="2"><input type="password" name="password2" value=""></font></td> </tr> <tr> <td><font size="2">E-Mail:</font></td> <td><font size="2"><input type="text" name="email" value=""> </font></td> </tr> <tr> <td colspan=2 align=center><input type=submit value=Anmelden></td> </tr> </table> </form> <? } } ?> <? function forgot ($fertig, $email) { include("config.php"); if ($fertig) { $abfrage=mysql_query("SELECT * FROM login"); while ($row = mysql_fetch_object ($abfrage)) { if ($email==$row->email) { $ismail="true"; } } if ($ismail=="true") { $password=mysql_query("SELECT * FROM login WHERE email = '$email'"); while ($row = mysql_fetch_object ($password)) { $nachricht="Hallo $row->user!\n\nIhr Passwort ist:\n\n$row->password\n\nMfG\nAdmin"; } mail($email, "Passwort", $nachricht, "From: Administrator"); ?> <p>Das Passwort wurde Ihnen erfolgreich an die Adresse <i><? echo $email; ?></i> geschickt!<br> Rufen Sie Ihre E-Mails ab und loggen Sie sich ein.<br></p> <? @login(); } else { echo "Ihre angegebene E-Mail Adresse wurde nicht gefunden!";} } else { echo "<p><h2>Passwort vergessen</h2><p>"; echo "<p><form method=post action=\"$PHP_SELF?forgot=yes&fertig=yes\">"; ?> <table cellspacing="1" cellpadding="2" border="0"> <tr><td><font size="2">E-Mail Adresse:</font></td><td align=center><input type=text name=email></td></tr> <tr><td colspan="2" align=center><input type=submit value="Schicken!"></td></tr> </table></form></p> <? } } ?> <? function abmelden($fertig, $user, $password) { include ("config.php"); if($fertig) { $abfrage = mysql_query ("SELECT * FROM login WHERE user = '$user'"); $reihen = mysql_num_rows($abfrage); if ($reihen <= 0) { echo "Unbekannter Benutzername!"; } else { while ($row = mysql_fetch_object ($abfrage)) { if ($row->password==$password) { $delete = mysql_query ("DELETE FROM login WHERE user = '$user'"); echo "Ihre Daten wurden erfolgreich aus der Datenbank entfernt!"; } else { echo "Falsches Passwort!"; } } } } else { echo "<p><h2>Abmelden</h2></p>"; echo "<form method=\"POST\" action=\"$PHP_SELF?abmelden=yes&fertig=yes\">"; ?> <table cellspacing="1" cellpadding="2" border="0"> <tr> <td><font size="2">Benutzername:</font></td> <td><font size="2"><input type="text" name="user" value=""> </font></td> </tr> <tr> <td><font size="2">Passwort:</font></td> <td><font size="2"><input type="password" name="password" value=""></font></td> </tr> <tr> <td colspan=2 align=center><input type=submit value=Abmelden></td> </tr> </table> </form> <? } } ?>
Die Config Datei:
<? #?ndern Sie diese Variablen nach ihren W?nschen: mysql_connect("localhost","abitur2011","********"); // Adresse zur MySQL Datenbank, Benutzername und Passwort mysql_select_db("usr_abitur2011"); // Datenbank-Name ?>
K?ntte mir das vll jetzt jemand so anpassen,dass es die Daten vom Phpbb benutzt? -
...
Aber auf die Dauer ... wird man eben schlauer ....
Genau das bezweifel ich bei manchen Leuten hier. -
...
Aber auf die Dauer ... wird man eben schlauer ....
Genau das bezweifel ich bei manchen Leuten hier.
Und was willst du uns jetzt damit sagen=?
Ahja und der jenige der das ferudnlicher Weise vll. machen w?rde k?nnte der dann auch das reg. dingen rausnhemen...!
Ich w?rds ja selber machen nur dazu m?sste ich erst komplett php lernen...
Und ich br?uchte das eiegentlich zeimlich dringend! -
http://tut.php-q.net
-
http://tut.php-q.net
Du gewinnst ehct die Wahl zum Spammer der Monats!Und der nervigsten (einen w?tend mach) schreibweise echt dazu...! -
was soll das $fertig in der login-Funktion? (Ich habe mir aus Zeit- und Lustmangel nicht das komplette Script durchgelesen)
Hier mal ein umgeschriebenes Beispiel von mir:
function login($user, $pass)
{
$sql = "SELECT user_password FROM *_users WHERE username='".$user."'";
$result = mysql_query($result);
if(mysql_num_rows($result))
{
$result = mysql_fetch_assoc($result);
if(md5($pass) == $result['user_password']) return 1;
else return 0;
}
else return 0;
}
Da wird gepr?ft, ob der Benutzername existiert. Wenn nicht, wird 0 zur?ck gegeben, wenn ja, wird gepr?ft, ob das Passwort stimmt. Wenn nicht, wird auch 0 zur?ck gegeben, wenn ja wird 1 zur?ck gegeben.
Das kannst Du pr?fen per:
if(login($user, $pass)) -> sicherer Inhalt
PS: Bedenke, dass Du den Tabellennamen noch ab?ndern musst. -
<? # Hier ggf. den Header einf?gen! if ($anmelden) { anmelden($fertig, $user, $password1, $password2, $email);} else { login($fertig, $user, $password);} # hier ggf. den Footer einf?gen! ?> <? function inhalt($user) { session_start(); session_register("user"); ################################## #Bauen Sie hier Ihren Inhalt ein!# # # ?> <b>Gesch?tzter Inhalt!</b> <? # # # Ab hier nichts mehr ?ndern! # ################################## } ?> <? function login($fertig, $user, $password) { include("config.php"); if ($fertig) { $abfrage = mysql_query ("SELECT * FROM login WHERE user = '$user'"); $reihen = mysql_num_rows($abfrage); if ($reihen <= 0) { echo "Unbekannter Benutzername!"; } else { while ($row = mysql_fetch_object ($abfrage)) { if ($row->password==$password) { inhalt($user); } else { echo "Falsches Passwort!"; } } } } else { echo "<p><h2>Login</h2></p>"; echo "<form method=\"POST\" action=\"$PHP_SELF?fertig=yes\">"; ?> <table cellspacing="1" cellpadding="2" border="0"> <tr> <td><font size="2">Benutzername:</font></td> <td><font size="2"><input type="text" name="user" value=""> </font></td> </tr> <tr> <td><font size="2">Passwort:</font></td> <td><font size="2"><input type="password" name="password" value=""></font></td> </tr> <tr> <td colspan=2 align=center><input type=submit value=Login></td> </tr> </table> </form> <? } } ?> <? function anmelden ($fertig, $user, $password1, $password2, $email) { include("config.php"); if($fertig) { $abfrage1 = mysql_query("SELECT user FROM login"); while ($row = mysql_fetch_object ($abfrage1)) { if ($row->user==$user) { echo "Dieser Benutzer existiert schon!"; exit; } } if ($user=="" OR $password1=="" OR $password2=="" or $email=="") { echo "Sie haben mindestens ein Feld nicht ausgef?llt!"; } else if ($password1!=$password2) { echo "Ihr Passwort ist ungleich Ihrer Wiederholung!"; } else { $anfuegen=mysql_query("INSERT INTO login (user, password, email) VALUES ('$user','$password1', '$email')"); echo "Erfolgreich angemeldet! Sie k?nnen sich nun einloggen:<br>"; @login(); } } else { echo "<h2>Anmelden</h2>"; echo "<form method=\"POST\" action=\"$PHP_SELF?anmelden=yes&fertig=yes\">"; ?> <table cellspacing="1" cellpadding="2" border="0"> <tr> <td><font size="2">Benutzername:</font></td> <td><font size="2"><input type="text" name="user" value=""> </font></td> </tr> <tr> <td><font size="2">Passwort:</font></td> <td><font size="2"><input type="password" name="password1" value=""></font></td> </tr> <tr> <td><font size="2">Wiederholen:</font></td> <td><font size="2"><input type="password" name="password2" value=""></font></td> </tr> <tr> <td><font size="2">E-Mail:</font></td> <td><font size="2"><input type="text" name="email" value=""> </font></td> </tr> <tr> <td colspan=2 align=center><input type=submit value=Anmelden></td> </tr> </table> </form> <? } } ?> <? function forgot ($fertig, $email) { include("config.php"); if ($fertig) { $abfrage=mysql_query("SELECT * FROM login"); while ($row = mysql_fetch_object ($abfrage)) { if ($email==$row->email) { $ismail="true"; } } if ($ismail=="true") { $password=mysql_query("SELECT * FROM login WHERE email = '$email'"); while ($row = mysql_fetch_object ($password)) { $nachricht="Hallo $row->user!\n\nIhr Passwort ist:\n\n$row->password\n\nMfG\nAdmin"; } mail($email, "Passwort", $nachricht, "From: Administrator"); ?> <p>Das Passwort wurde Ihnen erfolgreich an die Adresse <i><? echo $email; ?></i> geschickt!<br> Rufen Sie Ihre E-Mails ab und loggen Sie sich ein.<br></p> <? @login(); } else { echo "Ihre angegebene E-Mail Adresse wurde nicht gefunden!";} } else { echo "<p><h2>Passwort vergessen</h2><p>"; echo "<p><form method=post action=\"$PHP_SELF?forgot=yes&fertig=yes\">"; ?> <table cellspacing="1" cellpadding="2" border="0"> <tr><td><font size="2">E-Mail Adresse:</font></td><td align=center><input type=text name=email></td></tr> <tr><td colspan="2" align=center><input type=submit value="Schicken!"></td></tr> </table></form></p> <? } } ?> <? function abmelden($fertig, $user, $password) { include ("config.php"); if($fertig) { $abfrage = mysql_query ("SELECT * FROM login WHERE user = '$user'"); $reihen = mysql_num_rows($abfrage); if ($reihen <= 0) { echo "Unbekannter Benutzername!"; } else { while ($row = mysql_fetch_object ($abfrage)) { if ($row->password==$password) { } else { echo "Falsches Passwort!"; } } } } else { echo "<p><h2>Abmelden</h2></p>"; echo "<form method=\"POST\" action=\"$PHP_SELF?abmelden=yes&fertig=yes\">"; ?> <table cellspacing="1" cellpadding="2" border="0"> <tr> <td><font size="2">Benutzername:</font></td> <td><font size="2"><input type="text" name="user" value=""> </font></td> </tr> <tr> <td><font size="2">Passwort:</font></td> <td><font size="2"><input type="password" name="password" value=""></font></td> </tr> <tr> <td colspan=2 align=center><input type=submit value=Abmelden></td> </tr> </table> </form> <? } } ?>
So sieht jetzt der Code meines Login Sriptes aus...!
So jetzt 1.Prob.: Das Script tr?gt die Sachen im Gegensatz zum phpbb unverschl?sselt in die Db ein...!Wobei ich mir denke,dass er dann auch die Sachen falsch aus der PhpBBDb beziehen w?rde!
K?nnte mir dann einer das Sript so ?ndern,dass er diese Sachen aus der PhpBB Db bezieht..!
Die PhpBB Tabelle ist so aufgebaut:
Tabelle: Boardusers
Dadrinne stehen so eintr?ge wie passort user name(als wert dann der user name)
W?re vll. nen Screen vom Tabellen aufbau der Php msyl hilfreich?
Mfg Marcel
Beitrag ge?ndert am 7.05.2006 18:26 von alm -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage