You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP学生管理系统页面跳转/刷新时保留Session的解决方案咨询

解决方案

一、确保PHP Session跨页面/刷新时保留

Session丢失的核心问题几乎都是未正确初始化Session导致的,按以下步骤排查:

  • 所有需要访问Session的PHP页面开头必须执行session_start()
    不管是登录页、首页还是系统内其他页面,都要在任何HTML输出之前调用该函数,否则无法读取或维护Session。例如你的AdminHomePage.php开头需添加:
    <?php
    session_start();
    // 后续才能正常访问 $_SESSION["t"]
    ?>
    
  • 验证Session有效性(可选但推荐)
    在跳转后的页面(如AdminHomePage.php)添加Session校验,避免未登录用户直接访问:
    <?php
    session_start();
    if (!isset($_SESSION["t"])) {
        // Session不存在则跳回登录页
        header("Location: login.php");
        exit;
    }
    ?>
    
  • 检查服务器Session配置(若仍有问题)
    确认php.ini中以下配置符合需求(无需修改默认值,除非有特殊场景):
    • session.cookie_lifetime = 0:Session Cookie在浏览器关闭前有效
    • session.cookie_path = /:Cookie在整个站点范围内生效
    • session.save_path:服务器对该目录有读写权限

二、修复返回按钮的JavaScript问题

你代码中event.preventDefault()无效的原因:

  1. 调用GoBack()时未传递event参数
  2. window.location已触发页面跳转,后续代码不会执行;且普通按钮无默认跳转行为,preventDefault()在这里毫无意义

直接简化按钮逻辑即可,推荐两种方式:

方式1:纯HTML实现(无需JS,更简洁)

<button class="submit" onclick="window.location='AdminHomePage.php';">Back To Home Page</button>

或者用语义化的a标签模拟按钮(配合CSS调整样式):

<a href="AdminHomePage.php" class="submit">Back To Home Page</a>

方式2:修正后的JavaScript(若需保留函数逻辑)

<button class="submit" onclick="GoBack();">Back To Home Page</button>
function GoBack() {
  window.location = "AdminHomePage.php";
  // 无需event.preventDefault(),因为按钮无默认跳转行为
}

内容的提问来源于stack exchange,提问作者Trying_to_program

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 21:13:25