phpBB LogIn Formular in die eigene Homepage einbinden
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB LogIn Formular in die eigene Homepage einbinden
Hallo,
mit Hilfe diesen Artikels:
http://www.phpbb.de/doku/kb/artikel.php?artikel=106
habe ich es geschafft das LogIn Formular in meine Homepage zu integrieren.
Dies klappt auch wunderbar.
Das einzige Problem ist nur, dass dieses LogIn Formular permanent zu sehen ist. Also wenn der User auf der Homepage sich einloggt landet er in meinem phpBB. Geht er dann wieder zurück auf die Homepage ist das Formular immernoch zu sehn. Das wirkt dann als wäre er garnicht eingeloggt. Ist es möglich dieses nur anzeigen zu lassen wenn der User noch nicht eingeloggt ist? Fall er schon eingeloggt ist sollte am besten statt dem Formular das Usermenü mit PN's, LogOut, Suchen, etc. angezeigt werden.
Ich habe dazu noch folgenden Artikel gefunden:
http://www.phpbb.de/doku/kb/artikel.php ... hpbb_seite
Wenn ich das recht verstehe ist das im Prinzip was ich suche. Jedoch muss ich mit dieser Variante meine komplette Homepage in das phpBB integrieren? Dies fände ich nicht so gut. Gibts keine Möglichkeit ausserhalb des phpBB zu prüfen ob jemand eingeloggt ist oder nicht.
Vielen Dank im Voraus![/url]
mit Hilfe diesen Artikels:
http://www.phpbb.de/doku/kb/artikel.php?artikel=106
habe ich es geschafft das LogIn Formular in meine Homepage zu integrieren.
Dies klappt auch wunderbar.
Das einzige Problem ist nur, dass dieses LogIn Formular permanent zu sehen ist. Also wenn der User auf der Homepage sich einloggt landet er in meinem phpBB. Geht er dann wieder zurück auf die Homepage ist das Formular immernoch zu sehn. Das wirkt dann als wäre er garnicht eingeloggt. Ist es möglich dieses nur anzeigen zu lassen wenn der User noch nicht eingeloggt ist? Fall er schon eingeloggt ist sollte am besten statt dem Formular das Usermenü mit PN's, LogOut, Suchen, etc. angezeigt werden.
Ich habe dazu noch folgenden Artikel gefunden:
http://www.phpbb.de/doku/kb/artikel.php ... hpbb_seite
Wenn ich das recht verstehe ist das im Prinzip was ich suche. Jedoch muss ich mit dieser Variante meine komplette Homepage in das phpBB integrieren? Dies fände ich nicht so gut. Gibts keine Möglichkeit ausserhalb des phpBB zu prüfen ob jemand eingeloggt ist oder nicht.
Vielen Dank im Voraus![/url]
Zuletzt geändert von stuntman am 15.10.2005 20:09, insgesamt 1-mal geändert.
Die Seite komplett ins phpBB zu integrieren hatte ich eigentlich nicht vor.
Ich habe mir die Anleitung mal etwas genauer angeschaut.
Grob ist das bei mir so:
Ich habe meine Homepage in einem Ordner. In einem "Forum" Verzeichnis befindet sich dann das Forum.
Wie ich gelesen habe kann ich über $userdata['session_logged_in'] den LogIn Status eines Users abfragen.
Ist dies nicht auch von aussen her möglich? Muss dazu wirklich meine komplette restliche Seite ins phpBB integriert werden?
Der Grund warum ich ungern meine Seite ins phpBB intergrieren will ist dass doch dann meine ganze Struktur verloren geht? Oder nicht?
Ich hab die Seite in PHP/CSS/XHTML gemacht und hab streng auf Trennung von Design/Layout und Inhalt gelegt. Oder verstehe ich da was falsch?
Ich habe mir die Anleitung mal etwas genauer angeschaut.
Grob ist das bei mir so:
Ich habe meine Homepage in einem Ordner. In einem "Forum" Verzeichnis befindet sich dann das Forum.
Wie ich gelesen habe kann ich über $userdata['session_logged_in'] den LogIn Status eines Users abfragen.
Ist dies nicht auch von aussen her möglich? Muss dazu wirklich meine komplette restliche Seite ins phpBB integriert werden?
Der Grund warum ich ungern meine Seite ins phpBB intergrieren will ist dass doch dann meine ganze Struktur verloren geht? Oder nicht?
Ich hab die Seite in PHP/CSS/XHTML gemacht und hab streng auf Trennung von Design/Layout und Inhalt gelegt. Oder verstehe ich da was falsch?
Um die Box auszublenden muss die Seite ins phpBB integriert werden. Sonst wäre der User ja nicht im Forum angemeldet, wenn er sich auf der Seite befindet. Er würde also immer die Box angezeigt bekommen.
Wenn nicht jede Seite im phpBB integriert ist, dann wird User abgemeldet sobald er eine Seite deiner Homepage aufruft, die nicht im phpBB integriert ist.
Die Trennung von Inhalt und Layout bleibt ja bestehen, wenn du die Homepage integrierst. Du kannst dann sogar das Templatesystem des phpBB verwenden, so dass du auch noch deinen PHP- und HTML-Code trennen kannst.
Wenn nicht jede Seite im phpBB integriert ist, dann wird User abgemeldet sobald er eine Seite deiner Homepage aufruft, die nicht im phpBB integriert ist.
Die Trennung von Inhalt und Layout bleibt ja bestehen, wenn du die Homepage integrierst. Du kannst dann sogar das Templatesystem des phpBB verwenden, so dass du auch noch deinen PHP- und HTML-Code trennen kannst.
Jetzte habe ich doch noch eine Frage.
Ich bin nun so weit, dass meine LogIn Box nur angezeigt wird wenn jemand nicht eingeloggt ist.
Wenn jemand eingeloggt ist sollen aber nun die Links zum LogOut, zum Profil, zur Suche, etc. dortstehen.
Ich habs damit versucht:
Funktioniert leider nicht. In der Template Anleitung steht, dass diese zuerst geladen werden müssen um sie verwenden zu können!
Jedoch weiß ich nicht welche Datei ich reinladen muss um die oben gewünschten Templates benutzen zu können.
Ich bin nun so weit, dass meine LogIn Box nur angezeigt wird wenn jemand nicht eingeloggt ist.
Wenn jemand eingeloggt ist sollen aber nun die Links zum LogOut, zum Profil, zur Suche, etc. dortstehen.
Ich habs damit versucht:
Code: Alles auswählen
<a href="{U_LOGIN_LOGOUT}"><br \>{L_LOGIN_LOGOUT}</a><br \>
<a href="{U_REGISTER}">{L_REGISTER}</a><br \>
<a href="{U_PROFILE}">{L_PROFILE}</a><br \>
<a href="{U_MEMBERLIST}">{L_MEMBERLIST}</a><br \>
<a href="{U_SEARCH}">{L_SEARCH}</a><br \>
<a href="{U_FAQ}">{L_FAQ}</a><br \>
<a href="{U_PRIVATEMSGS}">{PRIVATE_MESSAGE_INFO}</a><br \>
Jedoch weiß ich nicht welche Datei ich reinladen muss um die oben gewünschten Templates benutzen zu können.
Auf die schnelle würde ich sagen du musst folgendes in deine php-Datei einfügen:
Code: Alles auswählen
if ( $userdata['session_logged_in'] )
{
$u_login_logout = 'login.'.$phpEx.'?logout=true&sid=' . $userdata['session_id'];
$l_login_logout = $lang['Logout'] . ' [ ' . $userdata['username'] . ' ]';
}
else
{
$u_login_logout = 'login.'.$phpEx;
$l_login_logout = $lang['Login'];
}
//
// Obtain number of new private messages
// if user is logged in
//
if ( ($userdata['session_logged_in']) && (empty($gen_simple_header)) )
{
if ( $userdata['user_new_privmsg'] )
{
$l_message_new = ( $userdata['user_new_privmsg'] == 1 ) ? $lang['New_pm'] : $lang['New_pms'];
$l_privmsgs_text = sprintf($l_message_new, $userdata['user_new_privmsg']);
if ( $userdata['user_last_privmsg'] > $userdata['user_lastvisit'] )
{
$sql = "UPDATE " . USERS_TABLE . "
SET user_last_privmsg = " . $userdata['user_lastvisit'] . "
WHERE user_id = " . $userdata['user_id'];
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not update private message new/read time for user', '', __LINE__, __FILE__, $sql);
}
$s_privmsg_new = 1;
$icon_pm = $images['pm_new_msg'];
}
else
{
$s_privmsg_new = 0;
$icon_pm = $images['pm_new_msg'];
}
}
else
{
$l_privmsgs_text = $lang['No_new_pm'];
$s_privmsg_new = 0;
$icon_pm = $images['pm_no_new_msg'];
}
if ( $userdata['user_unread_privmsg'] )
{
$l_message_unread = ( $userdata['user_unread_privmsg'] == 1 ) ? $lang['Unread_pm'] : $lang['Unread_pms'];
$l_privmsgs_text_unread = sprintf($l_message_unread, $userdata['user_unread_privmsg']);
}
else
{
$l_privmsgs_text_unread = $lang['No_unread_pm'];
}
}
else
{
$icon_pm = $images['pm_no_new_msg'];
$l_privmsgs_text = $lang['Login_check_pm'];
$l_privmsgs_text_unread = '';
$s_privmsg_new = 0;
}
$template->assign_vars(array(
'PRIVATE_MESSAGE_INFO' => $l_privmsgs_text,
'PRIVATE_MESSAGE_INFO_UNREAD' => $l_privmsgs_text_unread,
'PRIVATE_MESSAGE_NEW_FLAG' => $s_privmsg_new,
'PRIVMSG_IMG' => $icon_pm,
'L_LOGIN_LOGOUT' => $l_login_logout,
'L_REGISTER' => $lang['Register'],
'L_PROFILE' => $lang['Profile'],
'L_SEARCH' => $lang['Search'],
'L_FAQ' => $lang['FAQ'],
'U_REGISTER' => append_sid('profile.'.$phpEx.'?mode=register'),
'U_PROFILE' => append_sid('profile.'.$phpEx.'?mode=editprofile'),
'U_PRIVATEMSGS' => append_sid('privmsg.'.$phpEx.'?folder=inbox'),
'U_SEARCH' => append_sid('search.'.$phpEx),
'U_FAQ' => append_sid('faq.'.$phpEx),
'U_LOGIN_LOGOUT' => append_sid($u_login_logout))
);