Seite 1 von 1

Login in bestehende Hompage einbinden

Verfasst: 12.04.2007 14:27
von frankycsb
Hallo,

ich habe folgendes Problem (habe schon seitenweise im Forum gesucht, aber bin mit den gefundenen Hinweisen bisher nicht wirklich weitergekommen, hab von PHP bisher keine Ahnung):

Ich habe eine vorhandene Homepage, in der ich einen geschützten Bereich einrichten möchte und die Userverwaltung von phpbb nutzen möchte.
Ich habe ein Login-Formular auf meiner Seite eingerichtet.
Bei einem berechtigtem Login werde ich auf die gwünschte Seite geleitet.
Bei einem unberechtigten oder fehlerhaften Login werde ich auf die Seite des Forums geleitet, wo dann die Fehlermeldung erscheint.
Wo muß ich in der Login.php eingreifen, um bei einem unberechtigtem Login auf eine von mir gewünschte HTML- oder PHP-Seite geleitet zu werden ?
Wie muß diese Zeile dann heißen ?
Wo ist der Einstiegspunkt hierfür ?
In den Beiträgen, die ich bisher gelesen hab, finde ich die genannten Zeilen nicht oder diese kommen mehrmals in der Login.php vor, so daß ich nicht weiß, welche ich nehmen muss.

Des weiteren möchte ich in meinem Login-Formular auch die Möglichkeit einer Registrierung für neue User zur Verfügung stellen.
Wie kann ich diese Funktion realisieren?

Ich benutze folgendes Login Script:

echo '<form action="forum/login.php" method="post">';
echo '<b>Username:</b>&nbsp;&nbsp;<input type="text" name="username" class="post" />&nbsp;&nbsp;';
echo '<b>Password:</b>&nbsp;&nbsp;<input type="password" name="password" class="post" />&nbsp;&nbsp;';
echo '<input type="hidden" name="redirect" value="URL">;

In einem Forumsbeitrag soll man folgendes Script anpassen, aber ich seh vor lauter Bäumen nichts:

elseif( $row['user_active'] )
{
// Save login tries and last login
if ($row['user_id'] != ANONYMOUS)
{
$sql = 'UPDATE ' . USERS_TABLE . '
SET user_login_tries = user_login_tries + 1, user_last_login_try = ' . time() . '
WHERE user_id = ' . $row['user_id'];
$db->sql_query($sql);
}
}

$redirect = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : '';
$redirect = str_replace('?', '&', $redirect);

if (strstr(urldecode($redirect), "\n") || strstr(urldecode($redirect), "\r"))
{
message_die(GENERAL_ERROR, 'Tried to redirect to potentially insecure url.');
}

$template->assign_vars(array(
'META' => "<meta http-equiv=\"refresh\" content=\"3;url=login.$phpEx?redirect=$redirect\">")
);

$message = $lang['Error_login'] . '<br /><br />' . sprintf($lang['Click_return_login'], "<a href=\"login.$phpEx?redirect=$redirect\">", '</a>') . '<br /><br />' . sprintf($lang['Click_return_index'], '<a href="' . append_sid("index.$phpEx") . '">', '</a>');

message_die(GENERAL_MESSAGE, $message);


Kann mir jemand helfen ?
Wie muß das Script aussehen?

Schon jetzt vielen Dank.

Verfasst: 12.04.2007 14:33
von Dr.Death
Hi,

nutze einfach dieses hier: KB:106

Im

Code: Alles auswählen

<input type="hidden" name="redirect" value="meine_homepage.php">

ersetzt Du nur den Wert "value" mit deiner Homepage ;-)

Verfasst: 12.04.2007 15:10
von frankycsb
Diese Zeile habe ich doch im Login-Formular.
Mit diesem Link gelangt man bei erfolgtem Login auf die gewünschte Seite.
Das funktioniert soweit auch.
Aber wenn sich jemand einloggt, der nicht registriert ist oder die falschen Login-daten eingibt, dann möchte ich auf eine von mir erstellte Seite verweisen.
Wo und wie muß ich dies anstellen.


Gruß

frank