2013-07-09 3 views
0

Я разрабатываю панель hrm в cakephp. Я хочу, чтобы сотрудник набрасывал страницу на перенаправление на страницу punchout, но если сотрудник выходит из системы, то он переходит на страницу punchin, эта страница не должна перенаправляться до тех пор, пока она не проверит логическое значение из базы данных.как перенаправить страницу после проверки булевского значения из базы данных

ответ

-1

Может быть, просто так просто перевести код перенаправления в оператор IF?

if($boolean === true) { 
    $this->redirect(array('controller' => 'employees', 'action' => 'punchout')); 
} 
//normal code here when boolean is false 
+1

либо 'if ($ value === true)', либо просто 'if ($ value)' – mark

+0

Downvoted, потому что здесь строка прерывает приложение в двух случаях (маршрутизация и если приложение не находится в корне домена) – burzum

+0

скорее желаю, чтобы вы сначала прокомментировали и просто позвольте мне отредактировать мою часть, ее достаточно сложно получить репутацию при запуске на этом сайте. –

0

Я не согласен с другим ответом, потому что он не показывает лучший способ сделать это в CakePHP. Если вы используете маршрутизатор, код, предоставленный другим ответом, не будет работать с маршрутизацией. Кроме того, если ваше приложение не находится в корне домена /, но для example.com/my-tool/ URL-адрес типа строки не будет работать, и ссылка неверна, он будет выглядеть example.com/punchout вместо примера .com/мой-инструмент/Punchout

if ($value === true) { 
    $this->redirect(array('controller' => 'employees', 'action' => 'punchout')); 
} 

Это правильный способ сделать ссылки в CakePHP для всех ссылок, указывающих на любой контроллер приложения. Строка должна использоваться только в том случае, если это внешний URL. Если вы используете ссылки в своем макете и имеете плагины и префиксы маршрутизации, вы также хотите добавить плагин и префиксный ключ в массив и установить его в соответствии с вашими потребностями.

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