Loginbox - Redirect ?

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Davidaff
Mitglied
Beiträge: 37
Registriert: 26.06.2003 19:12

Beitrag von Davidaff »

hey danke,

ich muss mir endlich mal die phpbbhacks.com adresse merken :oops:

Jo alles eingefügt was nötig war, leider komm ich trotzdem immer wieder auf der index.php raus.

muss in das Formular noch ein hidden feld eingefügt werden?
Zuletzt geändert von Davidaff am 13.11.2004 22:58, insgesamt 1-mal geändert.
Benutzeravatar
Markus67
Ehrenadmin
Beiträge: 28346
Registriert: 12.01.2004 16:02
Wohnort: Neuss
Kontaktdaten:

Beitrag von Markus67 »

Hi ...

ich habe jetzt nochmal bei Smartor nachgesehen ... der MOD sollte funktionieren ... hast du denn noch andere MOD's eingebaut ?

Ist alles an der richtigen Stelle ?
Auf welcher Seite loggst du dich denn ein ?

Markus
Davidaff
Mitglied
Beiträge: 37
Registriert: 26.06.2003 19:12

Beitrag von Davidaff »

ok, also ich hab oben in den Headerbereich ein Loginform eingebaut,

und zwar gleich das genommen was unten in der index_body.tpl war
was auch soweit einwandfrei funktioniert.

wen ich jetzt in irgendeinem Forum drin bin ODER ein Thread lese hab ich oben im Header ja trotzdem noch die Möglichkeit mich einzuloggen um am besten gleich dort was zuschreiben oder wie auch immer.

Von daher währe es sinnvoll wenn er eben nach dem login gleich wieder dort hin geht von wo er sich eingeloggt hat.

Leider leidet er trotzdem zur index.php weiter :(

achja, hier mal der Code von dem Login im Header:

Code: Alles auswählen

<!-- BEGIN switch_user_logged_out -->
<form method="post" action="{S_LOGIN_ACTION}" name="login">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
<input type="text" name="username" class="form_input_login"  value="Username" />
<input type="hidden" name="login" value="login"></td>
</tr>
<tr>
<td>
<input type="password" name="password" class="form_input_login" value="password" />
</td>
</tr>
<tr>
<td valign="top"><div class="text_bolder" valign="top">Autologin
<input class="text" type="checkbox" name="autologin" />
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="20" height="19">
<param name="movie" value="../gfx/layout/button.swf">
<param name="quality" value="high">
<embed src="../gfx/layout/button.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="20" height="19"></embed>
</object>						
</td>
</tr>
</table>
</form>
<!-- END switch_user_logged_out -->
Benutzeravatar
Markus67
Ehrenadmin
Beiträge: 28346
Registriert: 12.01.2004 16:02
Wohnort: Neuss
Kontaktdaten:

Beitrag von Markus67 »

Hi ...

funktioniert es denn wenn du die "normale" Loginbox verwendest und nicht die die du im Header eingebaut hast ?

Markus
Kiss News
Mitglied
Beiträge: 1640
Registriert: 31.05.2004 02:04
Wohnort: Österreich
Kontaktdaten:

Beitrag von Kiss News »

Markus67 hat geschrieben:Hi ...

versuchs mal mit dem hier :wink:
Smart Login Redirect
This hack will redirect the user to the page where clicked log in/out after logging in/out successfully.

Markus
habe diesen Mod installiert:
#-----[ OPEN ]--------------------------------------------
#
includes/page_header.php

#
#-----[ FIND ]--------------------------------------------
#
if ( $userdata['session_logged_in'] )
{
$u_login_logout = 'login.'.$phpEx.'?logout=true&sid=' . $userdata['session_id'];
$l_login_logout = $lang['Logout'] . ' [ ' . $userdata['username'] . ' ]';
}
else
{
$u_login_logout = 'login.'.$phpEx;
$l_login_logout = $lang['Login'];
}


#
#-----[ REPLACE WITH ]------------------------------------
#
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 : '';
$l_login_logout = $lang['Login'];
}
funktioniert auch Testweise, aber NUR im Forum...

ich habe da eine Seite ins Board integriert:
http://kissfanshop.ki.funpic.de/phpbb2/Thumbnails.php
nach 2 Minuten kommt ein Timeout, wenn man aktualisiert.
Wenn man sich dann einloggt (login: tester/tester), wird man nicht auf die Seite wieder weitergeleitet, sondern wiederum auf die Timeout-Seite.
Liegt es daran, dass die Seite keine Seite aus dem Forum ist? Kann man das irgendwie ändern?
Kiss News
Mitglied
Beiträge: 1640
Registriert: 31.05.2004 02:04
Wohnort: Österreich
Kontaktdaten:

Beitrag von Kiss News »

ich möchte beim ein- bzw. ausloggen, immer zu dieser Seite weitergeleitet werden:
http://kissfanshop.ki.funpic.de/phpbb2/ ... tseite.htm

ich nehme an, das muss ich folgenden Code im page_header.php verändern, aber wie?
if ( $userdata['session_logged_in'] )
{
$u_login_logout = 'login.'.$phpEx.'?logout=true&sid=' . $userdata['session_id'];
$l_login_logout = $lang['Logout'] . ' [ ' . $userdata['username'] . ' ]';
}
else
{
$u_login_logout = 'login.'.$phpEx;
$l_login_logout = $lang['Login'];
}
bzw.
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 : '';
$l_login_logout = $lang['Login'];
}
Antworten

Zurück zu „Coding & Technik“