Мне создали сеанс, который является пустым при вызове от запроса ajax к Safari.
header.php
session_start();
$_SESSION['test'] = 'this is my session';
mypage.php
session_start();
echo $_SESSION['test']; <-- NOT WORKING ON SAFARI
Спасибо
Работает ли он в других браузерах? Работает ли он в Safari без AJAX? Этот скрипт загружается из того же домена, в котором находится исходная страница?
По всей видимости, Safari имеет более консервативную политику в отношении файлов cookie, чем другие браузеры . Если все на стороне PHP работает, и другие браузеры работают, я бы подумал, что Safari не отправляет cookie сеанса обратно на сервер.
это ноль
или ""
?
когда вы if (isset ($ _ SESSION ['test']))
возвращает ли оно истину?
это только сафари? если да, то это настройки вашего браузера.
Сохраняется ли ваш файл cookie сеанса успешно, и вы можете прочитать этот $ _session ['test'] на оставшейся части страницы header.php?
вы вызываете session_start () в самом начале страницы?
получаете ли вы какие-либо ошибки? если нет - вы деффо их включили?
Добавьте эту строку после session_start ()
в оба файла и сообщите мне, совпадает ли идентификатор сеанса (это означает, что вы находитесь в одном сеансе).
echo session_id();