phpBB LogIn Formular in die eigene Homepage einbinden

Alles zu Styles, Templates, Icons und Smilies für phpBB 2.0, sowie allgemeine Designfragen zur Integration von phpBB in bestehende Websites.
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.
stuntman
Mitglied
Beiträge: 11
Registriert: 15.10.2005 19:48

phpBB LogIn Formular in die eigene Homepage einbinden

Beitrag von stuntman »

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]
Zuletzt geändert von stuntman am 15.10.2005 20:09, insgesamt 1-mal geändert.
Benutzeravatar
Mungo
Administrator
Administrator
Beiträge: 6613
Registriert: 03.05.2003 19:34

Beitrag von Mungo »

Hast du deine Homepage ins phpBB integriert?
Zum Beispiel mit Hilfe von "KB:72" ?
stuntman
Mitglied
Beiträge: 11
Registriert: 15.10.2005 19:48

Beitrag von stuntman »

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?
Benutzeravatar
Mungo
Administrator
Administrator
Beiträge: 6613
Registriert: 03.05.2003 19:34

Beitrag von Mungo »

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.
stuntman
Mitglied
Beiträge: 11
Registriert: 15.10.2005 19:48

Beitrag von stuntman »

Ich hatte mir die Integration in das phpBB etwas blöder vorgestellt :)
Das klappt ja wunderbar und bringt keine Nachteile mit sich.

Vielen Dank für Deine Hilfe! 8)
stuntman
Mitglied
Beiträge: 11
Registriert: 15.10.2005 19:48

Beitrag von stuntman »

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:

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 \>
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.
Benutzeravatar
Mungo
Administrator
Administrator
Beiträge: 6613
Registriert: 03.05.2003 19:34

Beitrag von Mungo »

Die includes/page_header.php hast du in deinem php-Skript includet?
stuntman
Mitglied
Beiträge: 11
Registriert: 15.10.2005 19:48

Beitrag von stuntman »

Nein, das hatte ich noch nicht :)
Aber nun habe ich das Problem, dass die page_header.php mir den kompletten Forums-Header in meine Site schreibt. Genau das wollte ich nicht, da meine Seitenlayout von dem des Forums abweicht.

Gibt es eine andere Möglichkeit?
Benutzeravatar
Mungo
Administrator
Administrator
Beiträge: 6613
Registriert: 03.05.2003 19:34

Beitrag von Mungo »

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))
);
stuntman
Mitglied
Beiträge: 11
Registriert: 15.10.2005 19:48

Beitrag von stuntman »

Ich danke Dir!
Es funktioniert nun perfekt!
Antworten

Zurück zu „phpBB 2.0: Styles, Templates und Grafiken“