Seite 1 von 2
nach login auf der seite bleiben
Verfasst: 02.12.2006 23:15
von kolja
nabend phpbb
ich habe einen login / logout button in meinen header gesetzt
nur komme ich nach jedem betätigen auf die portal.php (hatte das mal geändert)
dann suchte ich nach nem mod,
und fand den hier
Smart Login Redirect v1.0.2
nur leider gibt es nach dem einbau keine besserung....
hat irgendwer da ne alternative ??
danke kolja
Verfasst: 02.12.2006 23:26
von [Flex]
Nur einen Button bzw. Link zur Login Page?
Wenn ja dann genügt es an diesen ein "redirect=dateiname.php&var1=2" zu hängen.
Ansonsten ist in der login.php mehrere Stellen wo geprüft wird, ob ein redirect gesetzt ist und wenn nicht eine Standarddatei genommen wird.
Hier z. B. (Zeile 129 login.php)
Code: Alles auswählen
$url = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : "portal.$phpEx";
Verfasst: 03.12.2006 00:08
von kolja
hi flex
danke erstmal für deine antwort
leider verstehe ich noch nicht so ganz was bzw wie du das meinst
also das mit dem button meine ich so:
www.mona-davinci.de/phpbb
und wenn ich mich gerad im kalender befinde,
auf login klicke,
user und pw eintrage
und auf absenden klicke
soll ich auch wieder im kalender landen
kolja
Verfasst: 03.12.2006 00:11
von [Flex]
Also wenn ich da im Calendar bin (
Link), sehe ich da keinen Button o. ä. zum Einloggen.
Verfasst: 03.12.2006 00:33
von kolja
ups...
klick bitte auf das subgreen template
oder hier:
http://www.mona-davinci.de/phpbb/calend ... s=subGreen
sorry
Verfasst: 03.12.2006 00:42
von [Flex]
Also das klappt bei mir wunderbar.
Beim Logout Button müsstest du eben noch den redirect Zusatz hinzufügen, aber ansonsten klappt es.
Verfasst: 03.12.2006 00:46
von kolja
sorry, aber irgendwie verstehe ich das noch nicht so ganz...
kannst du mir viellicht ein link zu deinem forum posten ??
oder mir genauer sagen was du mit:
meinst
danke kolja
Verfasst: 03.12.2006 00:50
von [Flex]
Du hast ja den Login Button oben gesetzt, wie hast du das gemacht? Nur im Template?
Momentan sieht der ja so aus:
http://www.mona-davinci.de/phpbb/login. ... lendar.php[/b]&s=subGreen&sid=1dc09754064fd5103ef83fbe33248b1b
Der fettgedruckte Teil ist die Redirect Anweisung.
Das gleiche müsstest du jetzt noch beim Logout hinzufügen.
Verfasst: 03.12.2006 00:57
von kolja
ich raffs nicht....
beim einloggen funzt es, beim ausloggen nicht...
das ist der code aus der page_header.php
Code: Alles auswählen
//
// Generate logged in/logged out status
//
if ( $userdata['session_logged_in'] )
{
$u_login_logout = 'login.'.$phpEx.'?logout=true&sid=' . $userdata['session_id'];
$l_login_logout = $lang['Logout'] . ' [ ' . $userdata['username'] . ' ]';
}
else
{
$smart_redirect = strrchr($HTTP_SERVER_VARS['PHP_SELF'], '/');
$smart_redirect = substr($smart_redirect, 1, strlen($smart_redirect));
if( ($smart_redirect == ('profile.'.$phpEx)) or ($smart_redirect == ('login.'.$phpEx)) )
{
$smart_redirect = '';
}
if( isset($HTTP_GET_VARS) and !empty($smart_redirect) )
{
$smart_get_keys = array_keys($HTTP_GET_VARS);
for ($i = 0; $i < count($HTTP_GET_VARS); $i++)
{
if ($smart_get_keys[$i] != 'sid')
{
$smart_redirect .= '&' . $smart_get_keys[$i] . '=' . $HTTP_GET_VARS[$smart_get_keys[$i]];
}
}
}
$u_login_logout = 'login.' . $phpEx;
$u_login_logout .= (!empty($smart_redirect)) ? '?redirect=' . $smart_redirect : '';
$u_login_logout = htmlspecialchars($u_login_logout);
$l_login_logout = $lang['Login'];
}
$s_last_visit = ( $userdata['session_logged_in'] ) ? create_date($board_config['default_dateformat'], $userdata['user_lastvisit'], $board_config['board_timezone']) : '';
das müsste doch auch beim logout funzen...
kolja
Verfasst: 03.12.2006 01:07
von [Flex]
Ist nur eine kleine Änderung, also:
Ersetze diese Zeile
Code: Alles auswählen
$u_login_logout = 'login.'.$phpEx.'?logout=true&sid=' . $userdata['session_id'];
mit:
Code: Alles auswählen
$redir = array_pop(explode("/",$_SERVER['PHP_SELF']));
$u_login_logout = 'login.'.$phpEx.'?logout=true&redirect='.$redir.'&sid=' . $userdata['session_id'];
Sollte so funktionieren.