这是我正在处理的登录脚本;它使用mysqli(我知道它不如PDO安全)运行MySQL查询后,我是fetch_object()。然后,我要求$ _session保留用户ID和电子邮件。$ _SESSION ['uid'] = $ user-> ID有效,但$ _SESSION ['uemail'] = $ user-> email无效。可能是因为电子邮件存储在对象$ user中吗?我是否必须以某种方式进行转换?
email是存储ass,数据库ID中的varchar(255)是int(11)。
<?php
include_once("config.php");
$username = $_POST['username'];
$password = sha1($_POST['password']);
$query = "SELECT ID FROM user WHERE username = '$username' AND password = '$password' LIMIT 1";
if ($result = $db->query($query)) {
while ($user = $result->fetch_object()) {
$_SESSION['uid'] = $user->ID;
$_SESSION['uemail'] = $user->email ;
header("Location: index.php");
//exit();
}
}else {
echo "Invalid login information. Please return to the previous page.";
//exit();
}
//var_dump(get_object_vars($result));
//$db->close();
?>
提前致谢。
您没有从数据库中选择电子邮件列。
尝试:
$query = "SELECT ID, email FROM user WHERE username = '$username' AND password = '$password' LIMIT 1";
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句