使用SELECT和SESSION检查登录用户不起作用

时间:2014-02-03 01:40:33

标签: session php

你能告诉我为什么这不起作用吗?我只想检查 userid 是否真的存在。如果确实存在,则表示注册用户可以在网站上执行任何操作。但是,我的编码不起作用。一个用于注册用户,另一个用于管理员。我的编码是这样的。任何的想法?

session_start();

$sql = "SELECT *
        FROM tablename
        WHERE userid = '".$_SESSION["userid"]."' ";
    $check = mysqli_query($link,$sql);

if (mysqli_num_rows($check) == 1  && $_SESSION['username'] == 'admin') {
    echo "<p> HELLO </p> ";
            }

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

我假装它,它对我有用。确保会话中有值,并且数据库连接是否正常。 mysqli_error将显示可能的失败(代码中总是抛出错误)。

$sql = "SELECT *
FROM tablename
WHERE userid = '".$_SESSION["userid"]."' ";
$check = mysqli_query($link,$sql) or die(mysqli_error($link));

if (mysqli_num_rows($check) == 1  && $_SESSION['username'] == 'admin') {
    echo "<p> HELLO </p> ";
}

答案 1 :(得分:-1)

    session_start();
$sel="select * from register where userid='$userid' and password='$pass'";
$res=  mysql_query($sel);
$co=  mysql_num_rows($res);
echo $co;             

if($co>0) {
$row=mysql_fetch_array($res);  
$_SESSION['id']=$row['userid'];   
header("echo 'helloooooooo'");
} else {
echo "Invalid userid....";
}
header("location:login.php");
}