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

PHP登录系统:如何通过$_SESSION['username']显示用户全名?

如何通过Session显示用户全名?

嘿,这个需求很好实现,核心就是在登录验证成功的时候,把用户的全名也捞出来存到Session里就行,具体步骤如下:

1. 调整登录时的SQL查询语句

你现在的登录代码应该是只查了用户名和密码来做验证,现在需要修改SQL,把fullname字段也包含进去。比如:

假设你原来的查询是这样的:

$query = "SELECT * FROM users WHERE username='$username' AND password='$password'";

可以改成更精准的(只查需要的字段,更高效安全):

$query = "SELECT username, fullname FROM users WHERE username='$username' AND password='$password'";

2. 验证成功后把全名存入Session

当查询到匹配的用户(用户名密码正确),就把查询结果里的fullname存入Session,同时保留原来的username Session(如果后续还需要用的话)。修改后的代码片段大概是这样:

if (isset($_POST['login_user'])) {
    $username = mysqli_real_escape_string($db, $_POST['username']);
    $password = mysqli_real_escape_string($db, $_POST['password']);

    // 调整后的查询,获取用户名和全名
    $query = "SELECT username, fullname FROM users WHERE username='$username' AND password='$password'";
    $results = mysqli_query($db, $query);

    // 检查是否找到匹配的用户
    if (mysqli_num_rows($results) == 1) {
        // 取出用户数据
        $user = mysqli_fetch_assoc($results);
        // 存入Session
        $_SESSION['username'] = $user['username']; // 保留原有的Session项
        $_SESSION['fullname'] = $user['fullname']; // 新增全名的Session项
        
        // 跳转到主页
        header('location: home.php');
        exit; // 跳转后记得exit,避免后续代码执行
    } else {
        // 登录失败提示
        echo "用户名或密码不正确哦";
    }
}

3. 在主页显示全名

现在到主页,只要先启动Session,然后直接调用$_SESSION['fullname']就能显示全名了:

// 每个用到Session的页面开头都要加这个!
session_start();

// 先检查用户是否已登录
if (isset($_SESSION['fullname'])) {
    echo "欢迎回来," . $_SESSION['fullname'] . "!";
} else {
    // 未登录的话跳回登录页
    header('location: login.php');
    exit;
}

小提醒

  • 千万别忘了在所有使用Session的页面最开头加session_start();,不然读不到Session数据哦。
  • 另外,安全方面建议别存明文密码在数据库,用password_hash()加密、password_verify()验证会更安全,不过这是额外的优化啦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 03:46:33