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 の情報を編集しようとすると、リダイレクトされます。

これは、リダイレクトする必要がある 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

編集 - うまくいきました、助けてくれてありがとう

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 に答える