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

登录页面无法显示求助:login.php前置PHP代码故障排查

登录页面无法显示的故障排查与修复

核心故障原因及修复方案:

  • 致命问题:无限重定向循环
    代码里这段逻辑完全搞反了方向:

    if (!isset($_SESSION['access_level'])) {
        header('Location: login.php');
        exit();
    }
    

    当用户未登录访问login.php时,$_SESSION['access_level']肯定不存在,这段代码会强制重定向到login.php本身,形成无限循环——浏览器永远没法加载到显示登录表单的代码,直接导致页面无法显示。直接删除这段代码即可解决核心问题。

  • Session参数设置顺序错误
    session_set_cookie_params(0)必须放在session_start()之前调用,否则会话Cookie的设置不会生效,正确顺序应该是:

    session_set_cookie_params(0);
    session_start();
    
  • 未闭合的PHP代码块
    代码最后用于显示登录表单的else分支,只打开了PHP标签却没闭合,会触发语法错误。需要在登录表单的HTML代码结束后补充<?php } ?>来闭合这个分支。

  • 开发阶段建议开启错误提示
    临时在代码开头加上以下代码,方便实时排查语法或运行错误:

    error_reporting(E_ALL);
    ini_set('display_errors', 1);
    

修复后的简化核心代码示例:

<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);

session_set_cookie_params(0);
session_start();

$accounts = array(
    'admin' => 'admin',
    'publisher' => 'publisher',
    'customer' => 'customer'
);

$error = '';
// 处理登录提交
if (isset($_POST['username']) && isset($_POST['password'])) {
    $username = $_POST['username'];
    $password = $_POST['password'];

    if (isset($accounts[$username]) && $accounts[$username] == $password) {
        $_SESSION['access_level'] = $username;
        
        // 统一跳转逻辑
        $target = ($username == 'customer') ? 'Products.php' : 'EmployeeArray.php';
        header("Location: {$target}");
        exit;
    } else {
        $error = 'Invalid username or password.';
    }
}

// 已登录则直接展示欢迎信息
if (isset($_SESSION['access_level'])) {
    $role = $_SESSION['access_level'];
    echo "Welcome, {$role}! <a href='LogoutQuestion.php'>Log out</a>";
} else {
    // 未登录显示登录表单
?>
<!-- 这里放你的登录表单HTML代码 -->
<form method="post">
    <div><?php echo $error; ?></div>
    <input type="text" name="username" placeholder="Username">
    <input type="password" name="password" placeholder="Password">
    <button type="submit">Login</button>
</form>
<?php } ?>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 09:02:52