[英]How can I extract from mysql the logged in user id
我正在尝试从用户表中提取用户ID,但这是行不通的。
登录功能:
function login($user, $password) {
$user = strip_tags(mysql_real_escape_string($user));
$password = strip_tags(mysql_real_escape_string($password));
$password = md5($password);
$sql = "SELECT * FROM users WHERE user = '$user' AND password = '$password'";
$result = mysql_query($sql) or die('Error. ' . mysql_error());
if (mysql_num_rows($result) == 1)
{
$_SESSION['access']=true;
$_SESSION["user"] = $user;
$_SESSION["password"] = $password;
$_SESSION["id"] = $id;
header('Location: '.DIR.'admin.php');
exit;
}
else
{
//error
$_SESSION['error'] = 'Wrong name or password.';
}
}
现在,当我登录时,我尝试将这些信息张贴在admin.php上,回显为'Username'。$ user。 'ID:'。$ id'; 它不显示。
你应该换线
if (mysql_num_rows($rezultat) == 1)
成
if (mysql_num_rows($result) == 1)
但是绝对应该考虑将PDO与预处理语句一起使用,以防止SQL注入或至少阻止mysqli函数(现在不建议使用mysql)
该查询是错误的,更正为:
$sql = "SELECT * FROM users WHERE user = '" . $user . "' AND password = '" . $password . "'";
可能您没有名为“ $ user”的用户。 注意引号。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.