Я недавно обновил CakePHP 1.2 до CakePHP 1.3, и теперь у меня есть некоторый код, который удерживает пользователя в цикле перенаправления. Это происходит после того, как пользователь успешно вошел в систему и решил щелкнуть ссылку для управления электронной почтой.
У меня есть некоторый код в контроллере, где метод index () проверит, является ли текущий пользователь администратором или нет. Если пользователь не является администратором, он сделает следующее:
function index()
{
if ($this->Session->read('is_admin') < 1) {
$this->redirect(array('controller' => 'emails', 'action' => 'view', 'id' => $this->Session->read('username')));
}
//...more code...
}
Это предназначено для перенаправления пользователя в метод view () и отображения только его электронной почты, а не электронной почты всех пользователей. Что происходит, когда я отлаживаю, это редирект продолжает заканчиваться в методе index ().
Есть ли что-то новое в CakePHP, которое мне не хватает? Нет ли нет необходимости использовать имя «представление» в качестве действия в контроллере?
* РЕДАКТИРОВАТЬ *
Хорошо, я был немного преждевременен с этим постом. Достигнут код в методе представления ($ username). Но дело в том, что $ username не определено, и у меня есть некоторый клиентский код, который затем перенаправляет обратно на действие index (), если оно не определено.
Я проверил исходное перенаправление, и $ this-> Session-> read ('username') заполняется именем пользователя, но оно просто не передается в аргументе $ username вида ().
Спасибо!