Я немного растерялся прямо сейчас.Я работаю над сеансами PHP для хранения пользовательских данных для зарегистрированных пользователей и некоторых сообщений, таких как сообщения об ошибках или сообщения об успехах, которые отражаются на следующей странице.
Вся эта концепция прекрасно работает практически на всех браузерах, в которых я ее тестировал.Только Chrome не может справиться с этим.Первый сеанс, который я установил в Chrome, не сохраняется.В дальнейшем все сеансы сохраняются и читаются так, как я ожидал.
У меня есть скрипт для всех процессов на моем сайте.Например, sContact.php
отвечает за контактную форму.В конце скрипта я сохраняю все сообщения в сеансе.
На каждой странице содержимого есть включение messages.php
, в котором выводятся все сообщения в сеансе.Благодаря этой настройке я могу установить сообщение, и сообщение будет отображаться, куда бы я ни перенаправлял пользователя.
sContact.php конец сценария
$alerts = [];
if (count($alerts) === 0) {
$alerts[] = HTML_SUCCESS_START . 'some message' . HTML_END;
$_SESSION['alerts'] = $alerts;
?> <script> window.location = "some URL"; </script> <?php
exit;
Сценарий начинается с session_start();
Шаблон message.php, который повторяет сообщения
if (isset($_SESSION['alerts'])) {
if (!empty($_SESSION['alerts'])) {
if (count($_SESSION['alerts'] > 0)) {
foreach ($_SESSION['alerts'] as $alert) {
echo $alert;
}
}
}
}
unset($_SESSION['alerts']);
Сайт контента начинается с session_start();
, в котором message.php включен с include_once "message.php"
.
Как уже говорилось, это прекрасно работает для всех браузеров, кроме Chrome.
Я немного новичок в этой области и довольно растерян.Надеюсь, у вас, ребята, есть идеи и, возможно, даже решение;)
Спасибо за вашу помощь.