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:

Code: Alles auswählen

"redirect=dateiname.php&var1=2"
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.