При использовании моего браузера Samsung Galaxy S7 переменные сеанса php теряются при перемещении с одной страницы на другую или при обновлении целевой страницы.Это не происходит постоянно, но такое же поведение наблюдается на более чем одном телефоне.
Он отлично работает на компьютерах и других мобильных браузерах.
Я сократил коддо минимума, чтобы продемонстрировать проблему (конечно, есть правильная проверка идентификаторов / паролей пользователей, но приведенный ниже код предназначен только для демонстрации)
Страница входа (logintest1.php)
<?
session_start();
$_SESSION=array();
$logout_time=5000; //how long until auto logoff?
if(!empty($_POST['userid']) && !empty($_POST['password'])){
//check login credentials
$_SESSION['test']['user_name']="test user";
$_SESSION['test']['user_id']=13;
header("location:logintest2.php");
exit();
}
?>
<!doctype html>
<html lang="en">
<head>
<title>login</title>
</head>
<body>
<h4>logintest1.php</h4>
<form class="form-signin" method="post" action="<?=$_SERVER['PHP_SELF'];?>">
<h1>Please sign in</h1>
<label for="userid_id">Username</label>
<input type="text" id="userid_id" name="userid" required autofocus><BR>
<label for="inputPassword" >Password</label>
<input type="password" id="inputPassword" name="password" placeholder="Password" required><BR>
<button type="submit">Sign in</button>
</form>
</body>
</html>
целевая страница (logintest2.php):
<?
session_start();
if(!isset($_SESSION['test']['user_id'])){
header("location:logintest1.php");
exit();
}
echo("<PRE>");print_r($_SESSION);echo("
");?> целевая страница
Пример целевой страницы
Перейти на следующую страницу
Я ожидаю, что переменные сеанса будут установлены, и пользователь будет оставаться в системе до тех пор, пока они не вернутся на страницу входа.Однако в браузере Galaxy S7 при обновлении целевой страницы (или даже последующей страницы) переменные сеанса часто удаляются, и пользователь перенаправляется обратно на страницу входа.
Это работает так, как я ожидаю наПК и другие мобильные браузеры (включая Chrome).
Заранее благодарим за любую помощь, которую вы можете оказать!