СЕАНС перехода со страницы на другую не работает

#php #session #cookies

#php #сеанс #файлы cookie

Вопрос:

У меня есть веб-сайт на PHP, сеанс не работает после обновления до версии 5.3, срок действия сеанса истекает при переходе на другую страницу.

Я пробовал следующее, но ничего не получилось

  1. изменен путь сеанса session.save_path
  2. изменен путь к файлу cookie «session.cookie_path»
  3. удалены все существующие сеансы
  4. изменено разрешение папки сеанса на 777
  5. добавлена функция session_start() поверх всех страниц.

пожалуйста, помогите мне исправить эту проблему.

Комментарии:

1. можете ли вы поделиться своим кодом?

2. извините, я не могу поделиться coed в соответствии с политикой компании

3. извините, я не смогу вам помочь.

4. поток такой — как только пользователь проходит аутентификацию, мы устанавливаем флаг $_SESSION[‘logged_in’] = true;, затем перенаправляем на другую страницу. там $_SESSION[‘logged_in’] пуст.

Ответ №1:

Пока вы не предоставляете какой-либо код для понимания проблемы ->

просто и для начала.

 <?php
 session_start();
 //after checking the login credentials

 $_SESSION['logged_in'] = true;
 if($_SESSION['logged_in'] = true){
  header('Location: /directory/home.php'); 
 }else{
 echo "You must login";
 }
  

на другой странице /directory/home.php -> здесь сначала проверьте, настроен ли сеанс на запуск

 if (session_status() == PHP_SESSION_NONE) {
    session_start();
}

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

if($_SESSION['logged_in'] = true){
  echo "You are Login";
 }else{
 echo "You must login";
}