【问题标题】:cakephp auth component for editing info用于编辑信息的 cakephp auth 组件
【发布时间】:2012-05-26 23:59:05
【问题描述】:

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

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

网址正确显示。但是,我试图限制它,以便只有具有该 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

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

【问题讨论】:

    标签: php mysql cakephp


    【解决方案1】:

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

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

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

    【讨论】:

    • 我不知道如何使用路由来实现,但我使用上面的方法让它工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-31
    • 1970-01-01
    • 2011-02-14
    相关资源
    最近更新 更多