POST в PHP и перенаправить пользователя на эту страницу? - PullRequest
3 голосов
/ 05 апреля 2011

Я немного растерялся. Как мне отправить данные в URL, а затем перенаправить браузер пользователя в это место - и все это за одну операцию?

Понятно

header('Location: page.php?' . http_build_query($_POST)); 

но это GET, а не POST и люди думают, что это очень плохая практика - PHP открывает другую веб-страницу с данными POST (почему?)

Мой kludgy рабочий процесс включает в себя настройку формы, а затем отправку ее через javascript - все должно быть лучше, чем это ...

Я думаю, что могу сделать набор заголовков () stmts, но это действие происходит для пользователя после того, как страница сформирована, поэтому я не думаю, что это сработает

Ответы [ 2 ]

2 голосов
/ 05 апреля 2011

Вы не можете перенаправить POST-запросы.Так просто.Любое перенаправление всегда превращается в запрос GET.

Если вы хотите получать данные POST, а затем отправить эти данные на другую страницу, у вас есть два варианта:

  • , если обена том же сервере используйте сеансы для сохранения данных на стороне сервера, не заставляйте клиента переносить их через
  • , если пункт назначения находится на другом сервере, и вам необходимо отправить туда клиента вместе с данными,настроить другую промежуточную форму, как вы
0 голосов
/ 06 апреля 2011

Используйте AJAX для сохранения данных перед тем, как покинуть страницу.Используйте ответ, который вы получите, чтобы создать перенаправление на новый URL прямо на текущей странице.Не бойтесь Javascript и Ajax.Попробуйте эту легкую библиотеку AJAX: http://www.openjs.com/scripts/jx/

...