0

我正在尝试创建一个链接来编辑用户的信息。id 为 1 的人的 url 将是 users/edit/1

echo $this->Html->link('Edit Info', array( 
   'controller' => 'users',  
   'action' => 'edit',
    AuthComponent::user('id')
)); 

URL 正确显示。但是,我试图限制它,以便只有具有该 ID 的用户才能编辑他们的页面。因此,假设用户 4 尝试编辑用户 1 的信息,它将重定向。

这是用户控制器中应该重定向的编辑操作的一部分。

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

编辑 - 让它工作,感谢您的帮助

4

1 回答 1

1

您可能不想按照您描述的方式进行操作。如果我是你,我会单独路由到类似的东西,然后让它转到控制器/profile/edit中的特定操作。user在该操作中,您将从会话中获取登录用户的用户 ID,查找用户,然后向他们显示编辑视图以获取他们的信息。

这将使您的链接生成看起来像:

echo $this->Html->link('Edit Info', array( 
   'controller' => 'users',  
   'action' => 'edit_profile'
)); 
于 2012-05-27T00:13:16.433 回答