Seite 1 von 3
login von externer Seite
Verfasst: 28.02.2004 11:08
von TB-Master
Hallo zusammen,
Kann mir jemand erklären wie der login beim phpbb funktioniert. Ich sehe da immer was von session usw. Ich würde gernde, auf der hp eine login funktion anbieten, die allerdings auf die benutzerdaten des phpbb zugreift.
thx schonmal
Gruß Toni
Verfasst: 28.02.2004 12:16
von TB-Master
habs jetzt mal über die login.php probiert.
So richtig funktionieren will das allerdings noch nicht, was mach ich da falsch? :
http://toflo.no-ip.com/rs04/index.php?s ... wLoginForm
Gruß Toni
edit: Und ähm dann müsste ich noch irgendwie abfragen können ob der Login geklappt hat.
Verfasst: 28.02.2004 15:31
von Pyramide
Wenn du auf login.php?redirect=/deine_seite.php verlinkst, wird der Benutzer bei erfolgreichem login auf /deine_seite.php weitergeleitet. Dort kannst du dann mithilfe von $userdata Benutzernamen etc. prüfen.
Siehe auch KB:phpbb_seite
Verfasst: 28.02.2004 17:24
von TB-Master
hmm ok,
aber ich würde gerne ein eigenes login formular machen, dass zu meiner Seite passt. Habe mein Formular genauso aufgebaut wie das orginal und schicke die daten an login.php.
siehe hier:
http://toflo.no-ip.com/rs04/index.php?s ... wLoginForm
so müsste login.php doch den user einloggen und dann auf meine index.php verlinken oder nicht?
und das userdaten array muss ich mir das über $http_get_vars holen?
Gruß Toni
Verfasst: 28.02.2004 18:06
von Pyramide
TB-Master hat geschrieben:aber ich würde gerne ein eigenes login formular machen, dass zu meiner Seite passt.
Du kannst das vorhandene ja in templates/xxx/login_body.tpl ändern

Verfasst: 28.02.2004 18:09
von TB-Master
*g* joa,
aber im phpbb solls ja standart aussehen.
Mich wundert das nur, da das formular von phpbb genau das gleiche macht wie meines. Und irgendwie muss das ja möglich sein.
giebt das $userarray auch angaben über gruppen mitgliedschaften zurück, oder muss cih die extra auslesen?
Gruß Toni
Verfasst: 29.02.2004 16:53
von Mister_X
Die Gruppenmitgliedschaften musst du extra auslesen.
Verfasst: 29.02.2004 19:01
von TB-Master
ok, vielen dank, habs nun hinbekommen. Falls es noch jemand braucht, wenn man ne eigene Form als Login benutzen will muss die so aufgebaut sein:
Code: Alles auswählen
<?php
define('IN_PHPBB', true);
$phpbb_root_path = 'phpBB/';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.' . $phpEx);
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
if (!$userdata['session_logged_in'])
{
echo '<form action="' . $phpbb_root_path . 'login.php" method="post">';
echo '<b>Username:</b> <input type="text" name="username" class="post" /> ';
echo '<b>Password:</b> <input type="password" name="password" class="post" /> ';
echo '<input type="hidden" name="login" value="true" />';
echo '<input type="hidden" name="redirect" value="http://toflo.no-ip.com/rs04/index.php">';
echo '<input type="submit" class="mainoption" value="Login" /></form>';
}
else{
echo 'Bereits eingeloggt';
}
?>
wichtig ist vor allem <input type="hidden" name="login" value="true"> Fürs logout funktionerts genau gleich, da muss diese zeile dann allerdings <input type="hidden" name="logout" value="true"> heißen.
Gruß Toni
Verfasst: 30.01.2005 20:39
von Lucas1510
Hallo,
ich habe den Login-Code in einen Frame (1) eingebaut. Nach dem Login wird das Forum in diesem Frame (1) aufgerufen anstatt in den dafür vorgesehenen Frame 2, was muss ich da ändern. Kann's leider nicht so richtig beschreiben

daher mal eine 'Zeichnung'.
So sieht's aus:
Code: Alles auswählen
|<-- FRAME 1 -->||<------------- FRAME 2 ------------->|
|<--- LOGIN --->||<-------------- FORUM -------------->|
Wenn ich nun auf den Login in 'Frame 1' klicke und mich einlogge, öffnet sich das Forum auch in Frame 1, anstatt das Frame 2 also aktualisiert wird.
Könnt Ihr mir bei der Anpassung des Codes helfen, bitte?
Danke,
viele Grüße,
Lucas
Verfasst: 30.01.2005 21:57
von TB-Master
frag mich jetzt net ob das funktioniert, kanns im Moment nicht testen,
aber probier mal folgendes:
echo '<form action="' . $phpbb_root_path . 'login.php" method="post" target="frameNameDen DuVergebenHast">';