繁体   English   中英

如何从mysql中提取已登录的用户ID

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM