@Heinemann

Почему не подгружается session?

1) Время жизни сессии автоматически обновляется после функции session_start()или это нужно делать каким-то особым способом?
2) Не подгружается сессия после ее переименования функцией session_name()(до переименования работало все отлично).
$users = include $_SERVER['DOCUMENT_ROOT'] . '/data/users.php';

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    if (!empty($_POST['login']) && !empty($_POST['password'])) {
        foreach ($users as $user) {
            if ($user['login'] === $_POST['login'] && $user['password'] === $_POST['password']) {
                $arg = ['login' => $_POST['login'], 'status' => 'true'];
                session_name('session_id');
                session_start();
                setcookie(session_name(), session_id(), time()+1200, '/');
                setcookie('log-info', serialize($arg), time()+60*60*24*30, '/');
                $_SESSION['login'] = $_POST['login'];
                header("refresh: 1; url=http://testbox/route/index.php");
            }
        }
    } else {
        echo 'Не введен логин или пароль';
    }
}

627e4fa192f6d575239968.png
  • Вопрос задан
  • 59 просмотров
Решения вопроса 1
@Akela_wolf
Extreme Programmer
Так вы вызываете session_start только при авторизации.

Автостартующая же сессия ожидает куку со стандартным именем, поэтому и не работает после переименования оной.

Вообще, если хочется таких развлечений - мне кажется правильнее изменить параметр session.name в php.ini, чем развлекаться с session_name, setcookie и т.п.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы