Запустите некоторый код PHP и перенаправьте на новую страницу. - PullRequest
1 голос
/ 07 февраля 2011

Я бы хотел, чтобы люди могли нажимать кнопку "Отправить" в форме, загружать страницу, где она проверяет некоторые данные, а затем перенаправлять на новую страницу.Я знаю, что вы можете использовать header () для перенаправления, но вы не можете загрузить что-либо с заголовком, и я хотел бы загружать анимацию между страницами.Каков наилучший способ сделать это.

Ответы [ 4 ]

6 голосов
/ 07 февраля 2011

Я бы заставил форму отправлять свои данные на другую страницу (что-то вроде action="process.php").

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

Это можно сделать с помощью HTML-мета-обновления , которое входит в ваш <head> и выглядит так:

<meta http-equiv="refresh" content="3;url=anotherpage.php"> 

Атрибут content - интересный бит. 3 означает 3 секунды, anotherpage.php - сайт, на который перенаправляется через 3 секунды.

1 голос
/ 07 февраля 2011

В качестве альтернативы я бы предложил минимальный эффект Javascript на странице отправки. onsubmit Вы отключаете кнопку отправки и рядом с ней отображается спиннер или похожая анимация, возможно, добавляете также сообщение «Обработка ...» . Затем страница может пройти свой обычный цикл POST / redirect / GET, это быстрее, чем переход на промежуточную страницу, и пользователь все еще чувствует, что что-то происходит.

0 голосов
/ 17 августа 2012

Если заголовки уже отправлены, то это код PHP / JavaScript, который я использую для отправки браузера в $ newLocation:

echo '<script language="javascript" type="text/javascript" >', PHP_EOL;
echo '<!--', PHP_EOL;
echo '      window.top.location.href = \'', $newLocation, '\'', PHP_EOL;
echo '// -->', PHP_EOL;
echo '</script>', PHP_EOL;

В моем случае я использую его для более контролируемого восстановления после ошибкиситуации после того, как заголовок уже отправлен.

0 голосов
/ 07 февраля 2011

Для перенаправления в php вы используете header("Location: $url");

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