0

我正在构建一个应用程序,并且刚刚添加了一个运行良好的登录页面,它与数据库中的“用户名”和“密码”字段进行通信。登录后,您将获得一个用户有权查看的页面。

有没有办法可以向在下一页登录的特定用户显示“欢迎,xxx”?更重要的是,在下一页输出登录用户的详细信息?谢谢。

4

4 回答 4

3

您可以使用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']);
?>
于 2013-04-25T11:02:44.623 回答
0

只需验证会话并从数据库中调用相应的用户。假设您在会话中使用用户名

$_SESSION['loggedin'] = 'USERNAME';

因此,您只需运行一个查询,即可使用 mysql 查询从数据库中调用用户名和其他信息,例如

$user =$_SESSION['loggedin'];
mysql_query("SELECT * FROM TABLENAME WHERE user = '$user'");

这只是一个示例。我建议使用 salt 并加密您的会话,然后调用查询。也使用 mysqli /PDO,因为不推荐使用 mysql。以上只是示例

于 2013-04-25T11:02:17.353 回答
0

您是否听说过 PHP 会话,您可以像这样将用户名放入会话中

$_SESSION['username']

在您注销之前,可以在后续页面请求中使用它。

于 2013-04-25T11:02:59.973 回答
0

是的,你可以做到这一点。我希望当您检查有效的用户名和密码时,您在会话变量中设置用户名或用户详细信息。如果您设置了变量,您始终可以打印该会话变量。确保您已在页面开头开始会话。

例如,如果您已设置

$_SESSION['user'] = 'Ram';

你可以简单地打印

echo $_SESSION['user']; 
于 2013-04-25T11:03:07.463 回答