php - 如何在 PHP 中获取用户全名会话数据?
问题描述
我有一个登录页面,用户在其中提交他的密码和电子邮件。他将重定向到索引页面,并且将显示用户全名。
include_once 'db.php';
if (isset($_POST['submit'])) {
$email = mysql_real_escape_string(stripslashes($_POST['email']));
$password = $_POST['password'];
$sql = SELECT password, id FROM users WHERE email='" . escape($email) . "' AND active = 1;
$result = query($sql);
if (row_count($result) == 1){
$row = fetch_array($result);
$db_passpord = $row['password'];
$db_name = $row['full_name'];
if (md5($password) == $db_passpord) {
if ($remember == "on") {
setcookie('email', $email, time() + 86460);
}
$_SESSION['fullname'] = $db_name;
$_SESSION['email'] = $email;
return true;
}
else{
return false;
}
return true;
}
else{
return false;
}
}
$_SESSION['full_name'];
它将显示使用的用户名。我想显示数据库中的用户名名称。数据库中有一行名为 full_name 我使用 $db_name 设置 row['full_name']。
解决方案
我猜这不是网站上的实际代码,因为存在许多错误。
include_once 'db.php';
if (isset($_POST['submit']))
{
$email= mysql_real_escape_string(stripslashes($_POST['email']));
$password = $_POST['password'];
$sql = SELECT password, id FROM users WHERE email='".escape($email)."' AND active = 1;
$result = query($sql);
if(row_count($result) == 1)
{
$row = fetch_array($result);
$db_passpord = $row['password'];
$db_name = $row['full_name'];
if(md5($password) == $db_passpord)
{
if($remember == "on")
setcookie('email',$email, time() + 86460);
$_SESSION['fullname'] = $db_name;
$_SESSION['email'] = $email;
return true;
}
else
{
return false;
}
return true;
}
else
{
return false;
}
}
select 语句周围没有引号,我猜包含的 DB.PHP 文件中包含函数“query”和“fetch_array”,否则它们不存在。
您是说“echo $_SESSION['full_name']”不显示全名,但您的代码将全名设置为“$_SESSION['fullname']”。
推荐阅读
- c++ - 如何通过弯路找到模板函数?
- mysql - Mysql - 如何查询重复值但在不同列中有不同值的列?
- singleton - 是否可以将单例框架的实例添加到 CDI 上下文?
- html - Laravel - 如何在两个表单的 1 行上显示编辑和删除按钮?
- java - 创建包装的 PreAuthorize 注释
- html - 选择所有元素,但不在具有特定类的父级中
- postgresql - 在 PostgreSQL 中,哪些类型可以先使用类型名称进行强制转换?
- xcode11 - Xcode 11 Beta 5:无法在 iPadOS 13.0 (17A5556d) 上运行的设备上预览
- ansible - 带有主机列表的 Ansible 模板,不包括当前主机
- angular - angluar 如何从 Spring Security 获取 csrf 令牌?