Seite 1 von 1

Dynamisches Login

Verfasst: 23.09.2002 22:08
von Gast
Hallo,

ich wollte auf der Startseite meiner Homepage außerhalb des phpBB ein Login-Formular anzeigen lassen. Dieses sieht man wenn man ausgeloggt ist, nachdem man eingeloggt ist, gelangt man wieder auf die Startseite und sieht dort nicht mehr das Login-Formular, sondern:

Eingeloggt als: USERNAME

oder sowas ähnliches.

Hab das Forum durchstöbert, leider konnte ich nichts für mein Vorhaben finden.

Das einzige was ich gefunden habe war ein Portal-Hack. Das scheint mir zu komplex um so eine einfache Funktion zu realisieren. Gibt es da eine Lösung?

Gruß & Danke Daniel

Verfasst: 24.09.2002 10:48
von Jazz
Genau so ein Ding brauch ich auch.

Verfasst: 28.09.2002 12:02
von Acid
<?php
define('IN_PHPBB', true);
$phpbb_root_path = "./";
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

$userdata = session_pagestart($user_ip, PAGE_INDEX, $session_length);
init_userprefs($userdata);

include('includes/page_header.'.$phpEx);

if ($userdata['session_logged_in'])
{
echo "hello, $userdata[username]";
}
else
{
$header_location = ( @preg_match("/Microsoft|WebSTAR|Xitami/", getenv("SERVER_SOFTWARE")) ) ? "Refresh: 0; URL=" : "Location: ";
header($header_location . append_sid("login.$phpEx?redirect=ja.$phpEx", true));
exit;

}

include('includes/page_tail.'.$phpEx);
?>
..entweder so, dann wird beim Aufruf der Datei (hier im Beispiel ja.* genannt) auf die login.php weitergeleitet, wenn ma ned eingeloggt is. Und nach dem Einloggen landet ma wieder auf der ja.php. Das includen von page_header.php/page_tail.php is optional, der Rest müsste in der Datei vorkommen...



<?php
define('IN_PHPBB', true);
$phpbb_root_path = "./";
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

$userdata = session_pagestart($user_ip, PAGE_INDEX, $session_length);
init_userprefs($userdata);

include('includes/page_header.'.$phpEx);

if ($userdata['session_logged_in'])
{
echo "hello, $userdata[username]";
}
else
{
echo "<form action=\"login.$phpEx\" method=\"post\">";
echo "<table width=\"50%\" cellpadding=\"4\" cellspacing=\"1\" border=\"0\" class=\"forumline\" align=\"center\">";
echo "<tr><td width=\"45%\" align=\"right\"><span class=\"gen\">$lang[Username]:</span></td>
<td><input type=\"text\" name=\"username\" size=\"25\" maxlength=\"40\" value=\"$userdata[username]\" class=\"post\" /></td></tr>";
echo "<tr><td align=\"right\"><span class=\"gen\">$lang[Password]:</span></td>
<td> <input type=\"password\" name=\"password\" size=\"25\" maxlength=\"25\" class=\"post\" /></td></tr>";
echo "<tr align=\"center\">
<td colspan=\"2\"><span class=\"gensmall\">$lang[Log_me_in]: <input type=\"checkbox\" name=\"autologin\" checked=\"checked\" /></span></td></tr>";
echo "<tr align=\"center\">
<td colspan=\"2\"><input type=\"hidden\" name=\"redirect\" value=\"' . $forward_page . '\" />
<input type=\"submit\" name=\"login\" class=\"mainoption\" value=\"$lang[Login]\" /></td></tr>";
echo "</table></form>";

}

include('includes/page_tail.'.$phpEx);
?>
..oder so, dann wird bei nicht eingeloggten Usern auf der *.php ein Login Formular angezeigt, und halt bei eingeloggten User der Username.
Auch hier sind page_header/page_tail optional (und der Rest notwendig), allerdings müsst ma dann natürlich andere Farbdefinition angeben.