Редирект после отработки скрипта PHP, как правильно сделать?

Нужно сделать редирект после отработки скрипта. Т.е. index.php отправляет на другой файл после отправки формы POST'ом, где происходит обработка формы, после чего было бы неплохо вернуть на изначальную страницу. Я понимаю, что
header('Location: ' . __DIR__ . '/index.php');
, но проблема в том, что index.php потом не отображает измененную информацию.
Вопрос 2, бонусный. Насколько адекватным будет использование JavaScript'ового window.location.href? (который, к слову, как-то подвесил сервер во время испытаний :D)
  • Вопрос задан
  • 492 просмотра
Решения вопроса 1
@BorisKorobkov Куратор тега PHP
Web developer
Во-первых, редиректу надо указывать путь на сайте, а не сервере.
header('Location: /index.php');

Во-вторых, если обработка несколько секунд, то обрабатывать надо в этом же скрипте, а потом редиректить на результат.
Если же обработка очень долгая, то надо записывать в очередь обработки и выводить "ваш запрос принят и обрабатывается". Отдельным демоном или по крону обрабатывать из очередь и через веб-сокет выводить результат клиенту.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы