Задать вопрос

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

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

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

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

Похожие вопросы