首页 > 解决方案 > 从一个页面到另一个页面的会话不起作用

问题描述

我有一个 PHP 网站,更新到 5.3 后会话不工作,移动到另一个页面时会话过期。

我已经尝试了以下但没有任何结果

  1. 更改了会话路径 session.save_path
  2. 更改 cookie 路径“session.cookie_path”
  3. 删除所有现有会话
  4. 将会话文件夹权限更改为 777
  5. 在所有页面的顶部添加了 session_start()。

请帮我解决这个问题。

标签: phpsessioncookies

解决方案


虽然您没有共享任何代码来理解问题 ->

简单,适合初学者。

<?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";
}

推荐阅读