Неопределенная переменная: пользователь в поле зрения в строке 60 NULL Phalcon

#php #phalcon #phalcon-routing

#php #phalcon #phalcon-маршрутизация

Вопрос:

Я пытаюсь передать массив в redirect на другую страницу, но там указано неопределенная переменная user

 return $this->response->redirect($this->MyHelper->Route('eb-user-verify-reset-password-code'), $User->toArray());
  

Как я могу получить доступ $user->toArray() к перенаправленной странице?

Я пытаюсь получить это, как <?php var_dump($user);?> на моей новой странице, но это выдает ошибку ниже:

Неопределенная переменная: пользователь в поле зрения в строке 60 NULL Phalcon

Подробные сведения:

Я передаю данные пользователя через функцию перенаправления на другую страницу. Итак, при перенаправлении я передаю данные пользователя в качестве второго параметра. Но я получаю ошибку на странице, где я хочу получить массив сведений о пользователе.

Комментарии:

1. Возможно, вам нужно использовать строку запроса или сохранить в сеансе для следующей страницы

2. @devpro да, сессия — хороший вариант, но мне было интересно, возможно ли это с помощью функции перенаправления!

Ответ №1:

PhalconHttpResponse::redirect() перенаправит с использованием http, и вы не сможете передавать какие-либо данные, если не используете POST, GET и т. Д

если вы запрашиваете другой способ перенаправления с параметрами, вы можете использовать PhalconMvcDispatcher::forward()

пример:

 $this->dispatcher->forward(
    [
        'controller' => 'posts',
        'action' => 'search',
        'params' => [1, 2, 3]
    ]
);
  

обратитесь к документации для получения дополнительной информации https://docs.phalconphp.com/3.4/en/dispatcher#forwarding

Комментарии:

1. Значит, мы не можем передать переменную в redirect func?

2. вы можете использовать get, который был бы общедоступным для клиента пример: http://www.somedomain/phalcon/?somevar=somevalue пожалуйста, прочитайте документацию docs.phalconphp.com/3.4/en/response#redirections