Intereting Posts
Предупреждение: mysqli_stmt :: bind_param (): Число переменных не соответствует количеству параметров в подготовленном операторе в C: \ User .. \ on 148 Перемещение объекта XML в foreach ($ object as $ key => $ value); CakePHP TwigView Plugin отсутствует ошибка просмотра Имя файла проверки php существует, переименуйте файл Форма редактирования cann't получить следующие данные для одного и того же пользователя Цвет файла журнала PHP Простая разбивка на страницы / кеш Заголовок NGINX «Access-Control-Allow-Origin» содержит несколько значений Как сохранить пользовательские шаблоны страниц WordPress в другой папке, кроме папки темы XML с xpath и PHP: как получить доступ к текстовому значению атрибута записи PHP Регулярное выражение со стрелками (>>) Симфония 2. Недействительный токен CSRF Генерация PDF с ajax, отображаемым как случайные строки? Невозможность обновления Laravel 5.1 до 5.2 (это противоречит вашим требованиям или минимальной стабильности) INSERT INTO … ON DUPLICATE UPDATE все значения

Zend1: перенаправление на действие в другом модуле

Мой loginAction находится в модуле user , в application/modules/user/controllers/AuthController.php контроллера application/modules/user/controllers/AuthController.php . Я хочу перенаправить успешный вход в indexAction в application/controllers/IndexController.php . Поэтому у меня есть следующее:

 if ($result->isValid()) { $auth->getStorage()->write($adapter->getResultRowObject()); $this->_helper->redirector('index', 'index'); return; } 

Когда я сейчас вхожу в систему, я получаю сообщение Message: Invalid controller specified (index) . Я предполагаю, что это связано с тем, что мой логин находится у user модуля, а IndexController – в корневом приложении.

Как я могу это исправить?

У помощника redirector () есть несколько способов перенаправления запроса.

попробуйте это, контроллеры в приложении / контроллерах находятся в модуле «по умолчанию» :

 if ($result->isValid()) { $auth->getStorage()->write($adapter->getResultRowObject()); //redirector($action, $controller, $module) $this->_helper->redirector('index', 'index', 'default'); } 

Способ, которым я предпочитаю использовать этот помощник, более явный, поэтому мне не нужно помнить значения по умолчанию:

  if ($result->isValid()) { $auth->getStorage()->write($adapter->getResultRowObject()); //gotoSimple($action, $controller, $module, $params = array()) $this->getHelper(redirector)->gotoSimple('index', 'index', 'default'); //or use gotoUrl($url) $this->getHelper(redirector)->gotoUrl('/index/index'); //or use gotoRoute() $this->getHelper(redirector)->gotoRoute('action'=>'index', 'controller'=>'index', 'module' => 'default'); } 

и быстрый и грязный метод утилиты:

  if ($result->isValid()) { $auth->getStorage()->write($adapter->getResultRowObject()); //_redirect($url); $this->_redirect('/index/index'); } 

Надеюсь это поможет