我的CakePHP应用程序主控制器中有以下代码:
public function index ()
{
if($this->referer(array('controller' => 'users', 'action' => 'logout')))
{
$this->layout = 'splash';
$this->set('title_for_layout', 'Goodbye');
$this->render('loggedout');
}
else
{
if (!$this->Auth->user())
{
$this->layout = 'splash';
$this->set('title_for_layout', 'Welcome to CreatHive');
$this->render('splash');
}
else
{
$this->layout = 'home';
$this->set('title_for_layout', 'CreatHive');
$this->render('index');
}
}
}基本上,它表示如果用户来自注销操作,则显示注销视图,如果不是,则检查用户是否已登录,并显示启动页面或主页。
但是,它总是显示注销视图,无论是否登录,甚至是来自注销操作(甚至刷新会话/cookie等都不起作用)。
在我看来代码看起来很好,你知道问题出在哪里吗:/
谢谢
发布于 2011-05-18 22:42:36
更改:
if($this->referer(array('controller' => 'users', 'action' => 'logout')))至:
if($this->referer() == Router::url(array('controller' => 'users', 'action' => 'logout')))https://stackoverflow.com/questions/6046076
复制相似问题