cakephp auth组件用于编辑信息

时间:2012-05-26 23:59:06

标签: php mysql cakephp

我正在尝试创建一个链接来编辑用户的信息。 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

编辑 - 让它发挥作用,感谢您的帮助

1 个答案:

答案 0 :(得分:1)

你可能不想按照你描述的方式去做。如果我是你,我会做一个单独的途径/profile/edit然后让它转到user控制器中的特定动作。在该操作中,您将从会话中获取登录用户userid,查找用户,然后向他们显示其信息的编辑视图。

这会让链接生成看起来像:

echo $this->Html->link('Edit Info', array( 
   'controller' => 'users',  
   'action' => 'edit_profile'
));