Hallo,
ich verwende ein selbst gemachtes Portal und möchte phpBB integrieren, wo bei einer Registrierung/Anmeldung alles über die Forum DB laufen soll. Wie kann ich außerhalb des Forums überprüfen ob jemand eingeloggt ist und ihm gegebenenfalls ein EInloggformular anzeigen?
mfg Patrick
von extern Benutzer einloggen
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
-
- Mitglied
- Beiträge: 7
- Registriert: 26.12.2009 13:21
- DayWalker74
- Mitglied
- Beiträge: 26
- Registriert: 25.11.2009 13:58
Re: von extern Benutzer einloggen
Du passt Deine Deinportal.php Datei für das phpbb an.
Dann dazu erstellst Du eine Templatedatei, passend zu Deinem Portal. z.b.: deineseite.html
Mein Portal ist auch komplett selbst geschrieben.
Code: Alles auswählen
<?php
$abmelden = '';
define('IN_PHPBB', true);
$phpbb_root_path = 'phpbb/'; //phad zum phpbb
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
$user->session_begin();
$auth->acl($user->data);
$user->setup();
page_header('Portal');
$template->set_filenames(array(
'body' => 'deineseite.html')
);
// Generate birthday list if required ...
$birthday_list = '';
if ($config['load_birthdays'])
{
$now = getdate(time() + $user->timezone + $user->dst - (date('H', time()) - gmdate('H', time())) * 3600);
$sql = 'SELECT user_id, username, user_colour, user_birthday
FROM ' . USERS_TABLE . "
WHERE user_birthday LIKE '" . $db->sql_escape(sprintf('%2d-%2d-', $now['mday'], $now['mon'])) . "%'
AND user_type IN (" . USER_NORMAL . ', ' . USER_FOUNDER . ')';
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$user_colour = ($row['user_colour']) ? ' style="color:#' . $row['user_colour'] .'"' : '';
$birthday_list .= (($birthday_list != '') ? ', ' : '') . '<a' . $user_colour . ' href="' . append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=viewprofile&u=' . $row['user_id']) . '">' . $row['username'] . '</a>';
if ($age = (int) substr($row['user_birthday'], -4))
{
$birthday_list .= ' (' . ($now['year'] - $age) . ')';
}
}
$db->sql_freeresult($result);
}
// Assign specific vars
$template->assign_vars(array(
'BIRTHDAY_LIST' => $birthday_list,
'S_DISPLAY_BIRTHDAY_LIST' => ($config['load_birthdays']) ? true : false,
)
);
$template->assign_vars(array(
'U_USERSTATUS' => $status,
'U_USERNAME' => $user->data['username'],
'U_SID' => $user->data['session_id'],
'NEWEST_USER' => sprintf($user->lang['NEWEST_USER'], get_username_string('full', $config['newest_user_id'], $config['newest_username'], $config['newest_user_colour'])),
'U_ABMELDEN' => $abmelden)
);
page_footer();
?>
Code: Alles auswählen
normaler html....
<!-- IF S_USER_LOGGED_IN -->
Hier der Text nachdem man eingeloggt ist.
<!-- ELSE -->
<center>
<form action="phpbb/ucp.php?mode=login" method="post">
<h3>Bitte anmelden</h3>
Benutzername:<br />
<input type="text" tabindex="1" name="username" id="username" size="12" value="" />
<br />
Passwort:<br />
<input type="password" tabindex="2" id="password" name="password" size="12" />
<br />
<a href="phpbb/ucp.php?mode=register" style="font-size:12px;">Registrieren</a><br />
<a href="phpbb/ucp.php?mode=sendpassword" style="font-size:12px;">Passwort vergessen</a><br />
<a href="phpbb/ucp.php?mode=resend_act" style="font-size:12px;">Aktivierung erneut senden</a><br />
<input type="checkbox" name="autologin" id="autologin" tabindex="4" />
<font style="font-size:12px;">Auto Login</font><br />
<input type="checkbox" name="viewonline" id="viewonline" tabindex="5" />
<font style="font-size:12px;">Onlinestatus verbergen</font><br />
<input type="hidden" name="redirect" value="../deinportal.php?sid={U_SID}" />
<input type="hidden" name="sid" value="{U_SID}" />
<input type="submit" name="login" tabindex="6" value="Anmelden"/>
<br />
</form>
</center>
<!-- ENDIF -->
.... normaler html