von extern Benutzer einloggen

In diesem Forum kann man Fragen zur Programmierung stellen, die bei der Entwicklung von Mods für phpBB 3.0.x oder dem Modifizieren des eigenen Forums auftauchen.
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.
Antworten
patrick227
Mitglied
Beiträge: 7
Registriert: 26.12.2009 13:21

von extern Benutzer einloggen

Beitrag von patrick227 »

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
Benutzeravatar
DayWalker74
Mitglied
Beiträge: 26
Registriert: 25.11.2009 13:58

Re: von extern Benutzer einloggen

Beitrag von DayWalker74 »

Du passt Deine Deinportal.php Datei für das phpbb an.

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();
?>
Dann dazu erstellst Du eine Templatedatei, passend zu Deinem Portal. z.b.: deineseite.html

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
Mein Portal ist auch komplett selbst geschrieben.
Antworten

Zurück zu „[3.0.x] Mod Bastelstube“