Можно ли перенаправить PHP на ссылку на странице при обработке формы? - PullRequest
0 голосов
/ 05 июля 2010

У меня есть веб-сайт с вертикальной прокруткой (множество ссылок на странице). У меня также есть скрипт контактной формы, над которым я работаю.

Я пытаюсь настроить его так, чтобы, когда кто-то заполнял / отправлял контактную форму, он перенаправлял их на #contact_area (на той же странице), но после вызова функции заголовка выдается ошибка «Не удается изменить информацию заголовка» .

Любые предложения о том, как перенаправить после обработки скрипта изнутри?

Спасибо!

Ответы [ 3 ]

3 голосов
/ 05 июля 2010

Перенаправление заголовка должно произойти до того, как PHP напечатает какой-либо вывод.Если вы хотите направить пользователя к привязке на текущей странице, у вас есть два варианта:

  1. Отправьте форму как обычно.Ваш PHP-скрипт обрабатывает данные и делает это перед любым выводом: header("Location: /my_same_page#contact_area"); Страница будет перезагружена, но они окажутся в нужном месте.

  2. Отправьте данные формы через AJAXа затем прокрутите до якоря #contact_area.

Второй вариант, вероятно, самый чистый, но первый вариант будет намного проще реализовать.

0 голосов
/ 05 июля 2010

Я предполагаю, что вы отправляете форму обратно на то же право?Возможно, отправьте контактную форму на другую страницу, например contactus.php, и, если она прошла успешно, поместите свой код местоположения заголовка в это ИЛИ вы можете использовать плагин формы jquery (функция submit (), которую я использовал), который работает в фоновом режиме, а затем выможет быть, jquery scrollTo () ваш хэштег.

Перейти к варианту 1, и если у вас есть время, поиграйте с версией jquery.

0 голосов
/ 05 июля 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...