2012-05-26 4 views
0

Я пытаюсь сделать ссылку для редактирования информации пользователя. URL-адрес для человека с id 1 будет пользователем/edit/1cakephp auth компонент для редактирования информации

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

URL-адрес отображается правильно. Тем не менее, я пытаюсь ограничить его, поэтому только пользователь с этим идентификатором может редактировать свою страницу. Итак, скажем, пользователь 4 пытается отредактировать информацию пользователя 1, он перенаправит.

Это часть действия для редактирования в UserController, которое должно быть перенаправлено.

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

Вы, вероятно, не хотите, чтобы сделать это так, как вы описываете , Если бы я был вами, я бы сделал отдельный маршрут к чему-то вроде /profile/edit. И тогда это приведет к определенному действию в контроллере user. В этом действии вы получите зарегистрированного пользователя userid из сеанса, найдите пользователя и затем покажете им вид редактирования для их информации.

Это оставит вас с генерацией ссылка выглядит как:

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

Я не мог понять, как сделать это с техкарт, но я получил его на работу, используя описанный выше метод. – user1406951

Смежные вопросы