1.功能背景 该功能为用户进行某操作,跳转到验证页面。验证成功后,自动跳回用户操作页面。如网络搜索查看某篇文章,用户发表评论前需要先登录。
2.功能实现
a.通过创建公用的Controller文件,创建_initialize方法,判断用户权限。如不具备权限自动跳转到验证页面。
b.验证成功后,页面自动跳转回验证发起页面。
3.问题点
登陆验证已经实现。页面跳转通过Redirect方法实现。初步想把发起验证的页面地址通过redirect方法的参数,传递给验证页面。
问题1 在公用的Controller的_initialize如何获取实际的发起验证的页面链接地址。曾经尝试U方法未果。
问题代码:
function _initialize()
{
//设置编码格式
header('Content-type:text/html;charset=UTF-8');
if(!isset($_COOKIE['auto']))
{
$backUrl=U();//尝试使用U方法获取当前Controller地址 但是失败
echo $backUrl;
//die();
$this->redirect(U('Admin/Login/Login'), array('backUrl' =>'abc' ),5, '页面跳转中...');//通过Redirect方法传递参数,但是在跳转页面接收不到该值。
}
else{
echo "Cookie 已经设置";
echo $_COOKIE['auto'];
cookie('auto',null);
}
} 还请各位大侠协助。 最佳答案