显示用户详细信息而不保存在上一个会话

时间:2018-06-08 00:16:03

标签: php html mysql sql

我需要在此(profile.php)文件中放入什么代码,以便我可以回显已登录用户的信息。在此之后我有一个HTML代码,我想显示信息。我已经可以回显用户名,因为它已保存在login.php会话中。有没有在login.php中添加任何其他代码来回显其他信息的选项?

// This is the profile.php file
<?php
session_start();
if(!isset($_SESSION['username']) || empty($_SESSION['username'])){
header("location: login.php");
exit;
}
?>

//DB = users with id, username, firstname, lastname etc...

1 个答案:

答案 0 :(得分:0)

理想情况下,这样做的过程是,不是在会话中保存用户名,而是存储每个帐户的唯一ID,并根据ID获取信息。

这样,您只需存储ID,即可轻松获取所有信息。

但是,使用当前的设置,您将运行一个简单的查询,根据会话中保存的用户名从db表中选择用户信息。

我会提供一些代码,但是你没有提供任何数据库信息,所以我无法猜测你的表名,所以我无法真正模拟出一个查询。

更新#1

我将假设您是一名熟练的开发人员正在使用prepared statements提示:如果您不是则使用它们):

SELECT * FROM `users` WHERE `username` = ?

然后你绑定并获取数据并输出它。显然,您不需要使用*,也可以提供自己的列。

注意:确保您的用户名是唯一的,否则添加LIMIT 1,但即便如此,您可能会收到错误的记录,因此我建议用户使用上面的ID。