php - 我的 PHP 会话值没有自动更新
问题描述
我刚刚在 PHP 中创建了一个登录和配置文件更新系统:
while ($row = mysqli_fetch_assoc($result_login_process)) {
$db_user_name = $row['user_name'];
$db_user_first_name = $row['user_firstname'];
$db_user_last_name = $row['user_lastname'];
$db_user_email = $row['user_email'];
$db_user_password = $row['user_password'];
$db_user_content = $row['user_content'];
$db_user_role = $row['user_role'];
}
if($user_email === $db_user_email && $user_password === $db_user_password && $db_user_role = "Admin") {
$_SESSION['user_name'] = $db_user_name;
$_SESSION['user_firstname'] = $db_user_first_name;
$_SESSION['user_lastname'] = $db_user_last_name;
$_SESSION['user_email'] = $db_user_email;
$_SESSION['user_role'] = $db_user_role;
header("Location: admin/");
}
在上面的代码中,我从数据库中获取数据并将它们存储在$_SESSION
变量中供以后使用。如果用户更新他们的个人资料,所有会话变量数据都应该更新以匹配。
成功更新他们的个人资料后,它也会在数据库中更新。但是以前我将变量存储在会话变量中username
,email
并且它们没有使用数据库中的新数据进行更新,它们仍然是旧值。
if(isset($_SESSION['user_name'])) {
$user_letter = strtoupper($_SESSION['user_name']);
$user_name = $_SESSION['user_name'];
$user_email = $_SESSION['user_email'];
}
更新数据库更改后如何更新会话变量?
解决方案
推荐阅读
- java - 您如何在同一活动中同步运行 Espresso 测试套件测试类?
- ssl - HSTS 到期的工作原理
- javascript - iframe缩小问题触发滚动硒java
- java - 如何在不同的旅程日期预订单个巴士对象
- css - 页面在 Firefox 和资源管理器中未正确显示
- python - 如何将值从一个功能转移到项目的其余部分
- javascript - foreach 中的 textContent 不起作用,没有错误
- azure - 从 Azure 存档存储中补充目录
- sql - 在 PROC SQL 和 Teradata 中使用数据语句过滤记录时遇到麻烦
- python - 如何在文件之间共享全局变量时修复“ImportError:无法导入名称”