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

PHP网站基础登录后如何展示当前登录用户的专属姓名、技能与描述

解决方法:展示当前登录用户的个人资料

嘿,我来帮你搞定这个问题!你现在的代码会取出所有用户的profile数据,这显然不是你想要的——咱们只需要当前登录用户的资料对吧?下面一步步来调整:

核心问题分析

你当前的SQL语句 SELECT * FROM profile 会查询表中所有用户的信息,而我们需要通过登录时存在Session里的用户标识(比如用户ID)来筛选出当前登录者的资料。

具体步骤与代码示例

1. 确认Session中的用户ID

首先你的 session.php 应该已经在用户登录时把用户的唯一ID存入了Session,比如 $_SESSION['user_id']。如果还没存,记得在登录验证通过后加上类似这样的代码:

// 登录验证通过后,假设从users表取出了用户ID
$_SESSION['user_id'] = $user_row['id'];

2. 安全查询当前用户的资料

使用预处理语句查询(避免SQL注入风险),替换你原来的SQL部分:

<?php 
include('session.php'); 
require 'config.php';

// 先检查用户是否已登录,未登录则跳转登录页
if (!isset($_SESSION['user_id'])) {
    header("Location: login.php");
    exit;
}

// 准备预处理语句,只查询当前用户的所需字段
$stmt = $conn->prepare("SELECT firstname, lastname, skills, description FROM profile WHERE user_id = ?");
// 绑定参数:"i"表示参数是整数类型(如果你的user_id是字符串就用"s")
$stmt->bind_param("i", $_SESSION['user_id']);
$stmt->execute();
// 获取查询结果
$result = $stmt->get_result();
$current_user = $result->fetch_assoc();

// 关闭资源
$stmt->close();
$conn->close();
?>

3. 灵活展示用户资料(不用局限于表格)

你可以用任意HTML结构来展示,比如用卡片式布局:

<!-- 前端展示区域,可根据你的页面样式自定义 -->
<div class="user-profile-card">
    <h3>我的个人资料</h3>
    <div class="profile-item">
        <span class="label">姓名:</span>
        <span class="value"><?php echo htmlspecialchars($current_user['firstname']) . ' ' . htmlspecialchars($current_user['lastname']); ?></span>
    </div>
    <div class="profile-item">
        <span class="label">技能:</span>
        <span class="value"><?php echo htmlspecialchars($current_user['skills']); ?></span>
    </div>
    <div class="profile-item">
        <span class="label">个人描述:</span>
        <span class="value"><?php echo htmlspecialchars($current_user['description']); ?></span>
    </div>
</div>

关键注意事项

  • 安全防护:用 htmlspecialchars() 转义输出内容,防止XSS攻击;用预处理语句避免SQL注入。
  • 数据库结构适配:如果你的profile表中关联用户的字段不是user_id(比如是id),记得修改WHERE条件里的字段名。
  • 登录状态校验:一定要先检查Session中的用户ID是否存在,防止未登录用户直接访问资料页面。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:31:39