User/Admin 登录 PHP

User/Admin login in PHP

我知道有类似的话题,我也看过那些话题,尽管它们似乎都不适合我。
首先,我想指出这是一个简单的大学作业,不是一个实际的网站,我不是担心"security" 或任何东西。
其次,我的数据库由 'username' 'password' and 'admin', admin being 0 or 1.
组成 我需要帮助的是,如果管理值为 1 而不是 0,则让用户重定向到 'hit-counter.php'
目前,无论管理值如何,他们总是转到 'index_loginsuccesful.php'。 (或者 'index_loginfailed.php' 如果 username/password 错误)
有什么想法吗?

<?php
$conn = mysql_connect ("localhost", "root","");
mysql_select_db("a_blub",$conn);
$result=mysql_query("SELECT password FROM user WHERE username = '$_POST[theusername]'",$conn);
$rows=mysql_fetch_array($result);

if($_POST['thepassword'] == $rows[0])
{
    if ($_POST['admin'] == 1)
    Header("location:hit-counter.php");
    else
    Header("location:index_loginsuccesful.php");
}
else
{
    Header("location:index_loginfailed.php");
} ?>

如果您想根据数据库中的数据重定向到不同的位置,那么您需要将1与您从数据库中取回的数据进行比较而不是 $_POST ,它将包含从表单提交的数据。您还需要 SELECT 包含该数据的列以及 password.

你能试试这个吗?

$conn = mysql_connect ("localhost", "root","");
mysql_select_db("a_blub",$conn);

$result = mysql_query("SELECT password FROM user WHERE username = '".mysql_real_escape_string($_POST['theusername'])."' LIMIT 1", $conn);

$row = mysql_fetch_assoc($result);

if ($_POST['thepassword'] == $row['password']) {
    if ($row['admin'] == 1) {
        header("Location: hit-counter.php");
        exit;
    } else {
        header("Location: index_loginsuccesful.php");
        exit;
    }
} else {
    header("Location: index_loginfailed.php");
    exit;
}