PHP header () перенаправляет на ту же страницу перед правой - PullRequest
0 голосов
/ 05 ноября 2018

У меня есть index.php файл здесь:

<?php

session_start();
var_dump($_SESSION['modals']);
$_SESSION['modals'] = [];

?>

и redirect.php файл здесь:

<?php

session_start();
$_SESSION['modals'][] = ['title' => "test", 'msg' => "message to show"];
header('Location: index.php', true, 301);
exit();

?>

Как вы видите, это действительно просто.

Проблема, с которой я сталкиваюсь, заключается в том, что если я загружаю страницу redirect.php 2 или 3 раза подряд, она просто показывает одну запись в переменной $ _SESSION ['modals'], как и должно быть. Но если я загружаю страницу redirect.php несколько раз подряд, обычно 4 или более, она начинает глючить. $ _SESSION ['modals'] иногда содержит 2 записи, а иногда 1.

Я не понимаю, почему ??

Заранее спасибо за ваши ответы!

1 Ответ

0 голосов
/ 05 ноября 2018

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

Я подозреваю, что ваши данные сеанса не сохраняются до того, как их откроет второй скрипт.

...