I have the same problem please someone explain how to fix it
OK so far no answer to this question and this is not the first thread...
I am extremely lame on php but I will try to do my best if someone wants to help is welcome....
1) The problem comes from mod_smf_login.php which is located in the modules directory
2) Changing to the normal mod_login.php seems to work out but we want to use this one
3)A quick workaround for people who are ina a hurry publish the original mod_login.php and the mod_smf_login.php set the last one 2 registered and You will have the menu available also the login.... a little bit ugly but.... hey I am lame

4)the original login looks like that
// Login output
// ie HTML when not logged in and trying to login
// used for spoof hardening
$validate = josSpoofValue(1);
?>
<form action="<?php echo sefRelToAbs( 'index.php' ); ?>" method="post" name="login" >
<?php
echo $pretext;
?>
<table width="100%" border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td>
<label for="mod_login_username">
<?php echo _USERNAME; ?>
</label>
<br />
<input name="username" id="mod_login_username" type="text" class="inputbox" alt="username" size="10" />
<br />
<label for="mod_login_password">
<?php echo _PASSWORD; ?>
</label>
<br />
<input type="password" id="mod_login_password" name="passwd" class="inputbox" size="10" alt="password" />
<br />
<input type="checkbox" name="remember" id="mod_login_remember" class="inputbox" value="yes" alt="Remember Me" />
<label for="mod_login_remember">
<?php echo _REMEMBER_ME; ?>
</label>
<br />
<input type="submit" name="Submit" class="button" value="<?php echo _BUTTON_LOGIN; ?>" />
</td>
</tr>
<tr>
<td>
<a href="<?php echo sefRelToAbs( 'index.php?option=com_registration&task=lostPassword' ); ?>">
<?php echo _LOST_PASSWORD; ?></a>
</td>
</tr>
<?php
if ( $registration_enabled ) {
?>
<tr>
<td>
<?php echo _NO_ACCOUNT; ?>
<a href="<?php echo sefRelToAbs( 'index.php?option=com_registration&task=register' ); ?>">
<?php echo _CREATE_ACCOUNT; ?></a>
</td>
</tr>
<?php
}
?>
</table>
<?php
echo $posttext;
?>
<input type="hidden" name="option" value="login" />
<input type="hidden" name="op2" value="login" />
<input type="hidden" name="lang" value="<?php echo $mosConfig_lang; ?>" />
<input type="hidden" name="return" value="<?php echo htmlspecialchars( sefRelToAbs( $login ) ); ?>" />
<input type="hidden" name="message" value="<?php echo htmlspecialchars( $message_login ); ?>" />
<input type="hidden" name="force_session" value="1" />
<input type="hidden" name="<?php echo $validate; ?>" value="1" />
</form>
<?php
}
?>
5) Maybe this is the code for jsmf login
if (empty($login)) {
$login = mosGetParam($_SERVER, 'REQUEST_URI', '');
}
if (strcasecmp($menu_style, 'customized') != 0) {
echo'<tr><td>
<form action="index.php" id="login" method="post">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<label for="mod_smf_login_username">',$txt[35],':</label><br />
<input type="text" id="mod_smf_login_username" name="username" size="12" class="inputbox" alt="',$txt[35],'" /><br />
<label for="mod_smf_login_password">',$txt[36],':</label><br/>
<input type="password" id="mod_smf_login_password" name="passwd" size="12" class="inputbox" alt="',$txt[36],'" /><br />';
if ($remember_me) {
echo '<input type="checkbox" id="mod_smf_login_remember" name="remember" class="inputbox" value="yes" alt="',_REMEMBER_ME,'" checked="checked" />';
} else {
echo '<input type="checkbox" id="mod_smf_login_remember" name="remember" class="inputbox" value="yes" alt="',_REMEMBER_ME,'" />';
}
echo '
<label for="mod_smf_login_remember">',_REMEMBER_ME,'</label><br />
<input type="submit" value="', $txt[34], '" class="button"/><br />
<input type="hidden" name="option" value="login" />
<input type="hidden" name="lang" value="',$mosConfig_lang,'" />
<input type="hidden" name="message" value="',$message_login,'" />';
if (!empty($login)) {
echo '<input type="hidden" name="return" value="',str_replace(array('&'), array('&'), $login),'" />';
}
echo '
</td>
</tr>
</table>
</form>
</td>
</tr>
I have some personal feelings about this line ... it seems it is messing the redirect.... or it is not... lame o me...
echo '<input type="hidden" name="return" value="',str_replace(array('&'), array('&'), $login),'" />';
This looks somewhat connected :
if (empty($login)) {
$login = mosGetParam($_SERVER, 'REQUEST_URI', '');
However I added
// url of current page that user will be returned to after login
if ($query_string = mosGetParam( $_SERVER, 'QUERY_STRING', '' )) {
$return = 'index.php?' . $query_string;
} else {
$return = 'index.php';
}
and changed the
echo '<input type="hidden" name="return" value="',str_replace(array('&'), array('&'), $login),'" />';
to
echo '<input type="hidden" name="return" value="',str_replace(array('&'), array('&'), htmlspecialchars( sefRelToAbs( $login ) )),'" />';
IT DIDN'T WORK not that I have expected...

C'mon Wolverine u got us into this... get us out of the blue....
My research continues....