我正在尝试创建一个链接来编辑用户的信息。 id为1的人的网址为users / edit / 1
echo $this->Html->link('Edit Info', array(
'controller' => 'users',
'action' => 'edit',
AuthComponent::user('id')
));
网址正确显示。但是,我试图限制它,所以只有具有该ID的用户才能编辑他们的页面。因此,假设用户4尝试编辑用户1的信息,它将重定向。
这是应该重定向的UsersController中的编辑操作的一部分。
if($id !== AuthComponent::user('id')){
$this->redirect(array('controller'=>'posts','action'=> 'index'));
}
我收到以下错误
Parse error: syntax error, unexpected '=', expecting ')' in /Applications/XAMPP/xamppfiles/htdocs/cake/app/Controller/UsersController.php on line 42
编辑 - 让它发挥作用,感谢您的帮助
答案 0 :(得分:1)
你可能不想按照你描述的方式去做。如果我是你,我会做一个单独的途径/profile/edit
然后让它转到user
控制器中的特定动作。在该操作中,您将从会话中获取登录用户userid,查找用户,然后向他们显示其信息的编辑视图。
这会让链接生成看起来像:
echo $this->Html->link('Edit Info', array(
'controller' => 'users',
'action' => 'edit_profile'
));