Redirect from page to login.html back to page - Joomla! Forum - community, help and support
sometimes useful verify if customer logged in site before allowing him view contents or components, in case use japplication::redirect() command.
most not user redirected page after logging in, sadly not work out. admin site works way front end not.
the file responsible login subcontroller ../components/com_users/controllers/user.php
and line responsible redirects:
the line responsible redirects this:
it tempting put line on components before redirect login
the problem here when site redirects login page new form input type name return introduced:
this code located in: ../components/com_users/views/login/tmpl/default_login.php
notice line:
this line looks url params or login form , not jrequest variable.
most not user redirected page after logging in, sadly not work out. admin site works way front end not.
the file responsible login subcontroller ../components/com_users/controllers/user.php
and line responsible redirects:
code: select all
.
.
public function login()
{
jsession::checktoken('post') or jexit(jtext::_('jinvalid_token'));
$app = jfactory::getapplication();
// populate data array:
$data = array();
$data['return'] = base64_decode(jrequest::getvar('return', '', 'post', 'base64'));
$data['username'] = jrequest::getvar('username', '', 'method', 'username');
$data['password'] = jrequest::getstring('password', '', 'post', jrequest_allowraw);
.
.
the line responsible redirects this:
code: select all
$data['return'] = base64_decode(jrequest::getvar('return', '', 'post', 'base64'));
it tempting put line on components before redirect login
code: select all
jrequest::setvar('return', base64_encode('index.php?option=com_component'), 'post', true);
the problem here when site redirects login page new form input type name return introduced:
this code located in: ../components/com_users/views/login/tmpl/default_login.php
code: select all
.
.
<fieldset>
<?php foreach ($this->form->getfieldset('credentials') $field): ?>
<?php if (!$field->hidden): ?>
<div class="login-fields"><?php echo $field->label; ?>
<?php echo $field->input; ?></div>
<?php endif; ?>
<?php endforeach; ?>
<?php if (jpluginhelper::isenabled('system', 'remember')) : ?>
<div class="login-fields">
<label id="remember-lbl" for="remember"><?php echo jtext::_('jglobal_remember_me') ?></label>
<input id="remember" type="checkbox" name="remember" class="inputbox" value="yes" alt="<?php echo jtext::_('jglobal_remember_me') ?>" />
</div>
<?php endif; ?>
<button type="submit" class="button"><?php echo jtext::_('jlogin'); ?></button>
<input type="hidden" name="return" value="<?php echo base64_encode($this->params->get('login_redirect_url', $this->form->getvalue('return'))); ?>" />
<?php echo jhtml::_('form.token'); ?>
</fieldset>
.
.
notice line:
code: select all
<input type="hidden" name="return" value="<?php echo base64_encode($this->params->get('login_redirect_url', $this->form->getvalue('return'))); ?>" />
this line looks url params or login form , not jrequest variable.
a simple redirect component login screen , component after successful login..
code: select all
if(!$user->id)
{
//get application object
$app = jfactory::getapplication();
//redirect login page
$app->redirect('http://tmerese.cloudaccess.net/login.html?return=' . base64_encode('index.php?option=com_enigmawd&view=post') , 'please login!');
}
Comments
Post a Comment