Подскажите пожалуйста, есть такой код авторизации на сайте.
<?php
session_start();
$db = mysqli_connect("localhost", "", "", "");
if (isset($_POST['login']) && !empty($_POST['password']) && isset($_POST['password']) && !empty($_POST['login'])) {
$query = sprintf("SELECT * FROM users WHERE password='".$_POST['password']."' AND login='".$_POST['login']."' LIMIT 1;", mysqli_real_escape_string($db,$_POST['password']));
mysqli_set_charset($db, 'utf8');
$result = mysqli_query($db, $query);
if (mysqli_num_rows($result) > 0) {
$row = mysqli_fetch_assoc($result);
$_SESSION['user_id'] = $row['id'];
}
}
if (!isset($_SESSION['user_id'])) {
// Показываем окно авторизации
}
else {
// Личный кабинет
}
?>
Но при перезапуске мобильного браузера опять запрашивает окно авторизации. В чем может быть проблема? В десктопной версии все нормально.
Ну, ответ-не ответ, но в комментах писать несподручно. Что может быть(имхо):
Попробуйте авторизоваться в мобильной и затем перезапустить браузер - если слетит, значит, весьма вероятен затык с этой стороны.
Да - и непонятно из Вашей информации - у Вас отдельная моб версия сайта, или адаптив?
Если адаптив, то скорее всего именно браузер, поскольку все остается, только вид меняется - при обычном варианте, конечно.
Механизм сессий PHP не живёт без куки с id сессии (ну, вообще-то живёт, но тогда sid должен быть настроен передаваться через GET параметры).
Кука эта выставляется со временем жизни session.cookie_lifetime
. Настройка по-умолчанию - 0. Что предполагает:
The value 0 means "until the browser is closed."
Значение 0 означает "пока браузер не будет закрыт". Некоторые браузеры согласны с такой трактовкой, некоторые нет.
Поэтому наблюдаемое различие поведения является нормой и никакой проблемы нет. Так задумано разработчиками проверенных вами браузеров.
Для себя нашел такой вариант.
$lifetime = 3600;
session_set_cookie_params($lifetime);
session_start();
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
День добрыйОбновляю Laravel и ловлю эту ошибку (ErrorException in helpers
Есть ли вариант функции array_change_key_case(), работающий со вложенными массивами?
Подскажите как правильно составить регулярное выражение для проверки строи которая может содержать только цифры и возможны(но не обязательны)...