【发布时间】:2017-03-11 12:55:22
【问题描述】:
首先我正在设置会话,但是当我 print_r() $_SESSION 它只显示 Array() 1
我确实在 session_start() 的两个文件上开始了会话;
我正在使用的功能:
function login($Username, $password, $pdo)
{
$sth = $pdo->prepare("SELECT * FROM `klanten` WHERE Inlognaam='$Username'");
$sth->execute();
if ($sth->rowCount() == 1) // als er een row is met die username dan gaat hij verder
{
// Variabelen inlezen uit query
$row = $sth->fetch();
$password = hash('sha512', $password . $row['Salt']); // encrypt het wachtwoord
if ($row['Paswoord'] == $password) // als het wachtwoord gelijk is aan het ingevulde wachtwoord
{
$user_browser = $_SERVER['HTTP_USER_AGENT']; // kijken welke browser je gebruikt
$_SESSION['user_id'] = $row['KlantID'];
$_SESSION['username'] = $row['Inlognaam'];
$_SESSION['level'] = $row['Level'];
$_SESSION['login_string'] = hash('sha512',$password . $user_browser);
// Login successful.
return true;
}
else
{
// password incorrect
return false;
}
}
else
{
// username bestaat niet
return false;
}
}
第 2 页
echo '<pre>' . print_r($_SESSION) . '</pre>';
仅返回Array()
【问题讨论】:
-
两个文件中都有
session_start函数吗? -
是的,我愿意。事实并非如此
-
那么提供的代码是不够的。
-
如信息中所述“我在做任何事情之前已经开始了会话”
-
我在这里怀疑
if ($row['Paswoord'] == $password)你确定你会得到回报true吗?
标签: php session session-variables