Проблемы с файлом cookie в IE / Edge при использовании cookie_lifetime

Так как пару дней (по крайней мере, я об этом знаю) я не могу войти на свой сайт, используя Internet Explorer или Edge. Логин работает с использованием Firefox и Chrome! Я также видел проблему на других компьютерах, указывая, что это не проблема локального браузера.

Мне известно, что IE / Edge молча удаляет файлы cookie с доменов с _ в поддомене, однако в моей ситуации их нет.

После пота и боли я сократил сценарий до минимума, чтобы воспроизвести проблему.

Я также нашел проблему, но у меня нет истинного решения.

<?PHP
ini_set( 'session.cookie_lifetime', '3600' );

if( session_id() == '' )
session_start( );

$i = 1;
if( isset( $_POST['logout'] ) ) {
unset( $_SESSION['loggedin' . $i] );
session_destroy();
header( 'Location: http://jbtje.com/test' . $i . '.php' );
}
if( isset( $_POST['login'] ) ) {
$_SESSION['loggedin' . $i] = 'LOGGED IN: ' . $i;
header( 'Location: http://jbtje.com/test' . $i . '.php' );
}
?><!DOCTYPE html>
<html>
<head>
<title>TEST <?PHP $i ?></title>
</head>
<body>
<?PHP echo 'You are currently ' . (isset($_SESSION['loggedin' . $i]) ? $_SESSION['loggedin' . $i] : 'not logged in ' . $i); ?>
<form method="POST"><input type="submit" name="login" value="login" /></form>
<form method="POST"><input type="submit" name="logout" value="logout" /></form>

</body>
</html>

Тестовый сайт: http://jbtje.com/test1.php

Если вы нажмете кнопку входа в систему, текст должен измениться на «Вы вошли в систему». Но это не так.

Однако, если вы прокомментируете строку ini_set (и измените $ i на 2):
http://jbtje.com/test2.php Это делает Работа….

Почему установка cookie_lifetime с использованием PHP приводит к тому, что IE и Edge не сохраняют cookie? (и как это решить …?)

С наилучшими пожеланиями,
Джеффри

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]