使用SELECT和SESSION检查登录用户是否不工作

使用SELECT和SESSION检查登录用户是否不工作,session,php,Session,Php,你能告诉我为什么这不起作用吗?我只想检查用户ID是否真的存在。如果它确实存在,意味着注册用户可以在网站上做任何事情。然而,我的编码并不适用于此。一个用于注册用户,另一个用于管理员。我的编码是这样的。有什么想法吗 session_start(); $sql = "SELECT * FROM tablename WHERE userid = '".$_SESSION["userid"]."' "; $check = mysqli_query($link,$s

你能告诉我为什么这不起作用吗?我只想检查用户ID是否真的存在。如果它确实存在,意味着注册用户可以在网站上做任何事情。然而,我的编码并不适用于此。一个用于注册用户,另一个用于管理员。我的编码是这样的。有什么想法吗

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> ";
            }

有什么想法吗?

我伪造了它,它对我有用。确保会话中有一个值,并且数据库连接是否正常。mysqli_错误将显示可能的失败,并且总是在代码中抛出错误

$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> ";
}

您是否在脚本顶部启动会话?@cyper睁开眼睛:您能否在会话启动后立即对变量会话进行变量转储?@zeflex您能否给出一个示例?就像我不知道如何开始一样。@zeflex我只看到了一个摘录,没有看到洞脚本。请参阅php.net上的文档:注意:要使用基于cookie的会话,必须在向浏览器输出任何内容之前调用session_start。@user3246061如果您的条件是:您的会话用户名ist set,用户名在数据库中,用户名ist‘admin’。这是科雷克吗?或者,您想问的是数据库中的用户名,还是真正适合您的用户名adminIs?为什么我的坏了?这么奇怪?如果userid是一个数字,可以吗?会话可以在项目中脚本的任何位置创建。不一定需要创建此会话并分配此代码。在我的例子中,我假装在运行时创建它。我在回复的一开始就明确表示,您需要检查会话是否正在创建。谢谢您,但这不是我想要的。我要做的是检查用户是否登录,它会显示HELLO。如果可能的话,使用mysqli,因为mysql是如此不受欢迎。
    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");
}