PHP:从会话中获取用户名

时间:2013-05-20 20:38:29

标签: php mysql session authentication

我不擅长PHP,我有一点问题。我一直在玩this script

我不能为我的生活弄清楚如何回显登录用户的用户名。 我试图像这样打印会话的所有信息:

var_dump($_SESSION)

但我得到了哈希密码和userlevel int。

有人可以在这帮助我吗?我只是希望能够回应用户名。

5 个答案:

答案 0 :(得分:2)

您必须在会话中存储用户名,以便在其他页面加载时可用,目前脚本仅将这些值存储在会话中;

 $_SESSION['loggedin'] = $row[$this->pass_column];
 $_SESSION['userlevel'] = $row[$this->user_level];

您需要做的是将$username添加到传递到login函数的会话中,如下所示;

$_SESSION['username'] = $username;

现在,用户名将以密钥用户名存储在会话中。

为了能够在另一个页面上使用它,请确保在尝试使用它之前通过调用函数session_start()来启动会话。

答案 1 :(得分:1)

基本上,就像在

中写一样
session_start();
echo $_SESSION['username']; 

 echo $_SESSION['password'];

会议如何运作的简要说明。

首先启动会话并将任何值分配给会话ex:

session_start();
$_SESSION['username'] = 'john';

然后回声如下:

echo $_SESSION['username']; // will echo out 'jonh'
必须在您要使用会话的网页之间共享

注意 session_start()

答案 2 :(得分:0)

你有session_start();在顶部?

答案 3 :(得分:0)

在登录功能中,您应该在成功登录后将会话名称写入会话。

//instantiate if needed
include("class.login.php");
$log = new logmein();
$log->encrypt = true; //set encryption
if($_REQUEST['action'] == "login"){
    if($log->login("logon", $_REQUEST['username'], $_REQUEST['password']) == true){
         //do something on successful login
         $_SESSION['username'] = $_REQUEST['username'];
    }else{
         //do something on FAILED login
    }
}

答案 4 :(得分:0)

UI Thread