-1

私はすべてを見ました。私はこれを理解することはできません。

<?php
session_start();
if (!empty($_POST[username]))
{
    require_once("connect.php");

    // Check if he has the right info.
    $query = mysql_query("SELECT * FROM members
                            WHERE username = '$_POST[username]'
                            AND password = '$_POST[password]'")
    or die ("Error - Couldn't login user.");

    $row = mysql_fetch_array($query)
    or die ("Error - Couldn't login user.");

    if (!empty($row[username])) // he got it.
    {
        $_SESSION[username] = $row[username];
        echo "Welcome $_POST[username]! You've been successfully logged in.";
        exit();
    }
    else // bad info.
    {
        echo "Error - Couldn't login user.<br /><br />
            Please try again.";
        exit();
    }

    if($isadmin["admin"]==1)
{
echo $admin;
}
else
{
}

}

$admin = <<<XYZ
<div id="admintab">
Admin &nbsp;&#0187;
<div id="admin">
ADMIN PANEL
<div id="exitadmin">
</div>
<div id="artistline" />
</div>
</div>
XYZ;

?>

私は$admin価値が働いていることを知っています。私はそれをテストしました。基本的に、私はレジスターシステムを持っています。デフォルトでは、管理者の値を「0」に設定します。しかし、管理者を追加したいとしましょう。'0' を mysql 経由で '1' に変更します。管理者の値が '1' に設定されているデータベース内のユーザー (行名: 管理者) を php で検索し、そのユーザーにのみ管理パネルを表示する方法を知りたいです。

4

3 に答える 3

0

まず、$_POST (および $_GET や $_COOKIE など) をフィルタリングしないことは、SQL インジェクションのために非常に危険であることを指摘しなければなりません。次に、変数 $isadmin は、定義するまで魔法のように存在しません。

より有能なユーザー グループ システムを設計することをお勧めしますが、質問に答えるために、チェックしたい変数は $row["is_admin"] です。また、 PHP で if ($row["is_admin"] == 1) - 1 が TRUE と評価される場合は、その必要はありません。

于 2013-04-20T07:51:56.333 に答える