我正在构建一个应用程序,并且刚刚添加了一个运行良好的登录页面,它与数据库中的“用户名”和“密码”字段进行通信。登录后,您将获得一个用户有权查看的页面。
有没有办法可以向在下一页登录的特定用户显示“欢迎,xxx”?更重要的是,在下一页输出登录用户的详细信息?谢谢。
您可以使用SESSION来临时存储跨页面可以看到的数据.... 在检查成功登录凭据后,您可以将用户数据存储在会话中
<?php
session_start();
$_SESSION['username'] = $user_name;
?>
在会话中存储用户数据后,您现在可以跨不同页面访问这些数据,直到您取消设置这些会话数据
<?php
session_start();
if (!isset($_SESSION['username'])) {
echo 'Welcome, '.$_SESSION['username'];
} else {
echo 'Sorry, You are not logged in.';
}
?>
当用户注销时,注销这些会话变量。可以通过以下方式注销会话变量:
<?php
session_start();
unset($_SESSION['username']);
?>
只需验证会话并从数据库中调用相应的用户。假设您在会话中使用用户名
$_SESSION['loggedin'] = 'USERNAME';
因此,您只需运行一个查询,即可使用 mysql 查询从数据库中调用用户名和其他信息,例如
$user =$_SESSION['loggedin'];
mysql_query("SELECT * FROM TABLENAME WHERE user = '$user'");
这只是一个示例。我建议使用 salt 并加密您的会话,然后调用查询。也使用 mysqli /PDO,因为不推荐使用 mysql。以上只是示例
您是否听说过 PHP 会话,您可以像这样将用户名放入会话中
$_SESSION['username']
在您注销之前,可以在后续页面请求中使用它。
是的,你可以做到这一点。我希望当您检查有效的用户名和密码时,您在会话变量中设置用户名或用户详细信息。如果您设置了变量,您始终可以打印该会话变量。确保您已在页面开头开始会话。
例如,如果您已设置
$_SESSION['user'] = 'Ram';
你可以简单地打印
echo $_SESSION['user'];