在我们自己开发的Joomla!组件时,经常会遇到这样的情况,在判断用户尚未登陆的情况下,让用户先到登陆页面,登陆成功后回到预定的页面。这一情况实现起来说起来简单,但是有几个地方也需要注意。看过用户登陆部分代码的朋友,可能会说只要带入一个return的变量就可以了,真的是这样吗?在你的组件中试试:
$this->setredirect('index.php?option=com_user&view=login&return=/','you must login in!')
然后你试试是什么效果?没有像预期那样的返回!
没错,的确需要return这个变量,不过这个变量有几个必须遵守的要求:
1、这个url必须是站内url
2、这个url必须先做base64的编码。
也就是上述的代码应该是
这样即可以实现了!