1

フルアクセスを許可する2人の管理者ユーザーのみのテーブルを作成しました。

session_start();
$query="select * from tbl_user where username='$username' and password='$password'";
$result=mysql_query($query);
$count=mysql_num_rows($result);
if($count>0)
{          
    $row=mysql_fetch_row($result);
    if($row[0]=='1')
    {
        $_SESSION['admin']='admin';
    }
    else
    {
        $_SESSION['admin']='user';
    }
    header("Location:http://localhost/test/sample.php");
}

これsample.phpで、私はこのようにアクセスを許可します:

<td>
    <?php
        if($_SESSION['admin']=='admin')
        {
    ?>
    <a href='Subscribers.php'>&nbsp;Subscribers</a>
    <?php
        }
    ?>
</td>
<td>
    <a href='CreateRelease.php'>&nbsp;Releases</a>
</td>

sample.php、と書いsession_startたのですが、どのユーザーでもログインできます。Releasesオプションのみが表示されます。

助言がありますか?

4

3 に答える 3

2

session_start()セッションが必要なすべてのスクリプトの最初のものとして呼び出します。

于 2012-09-27T01:47:17.803 に答える
0

あなたがsession_start();でやったと言ったsample.phpので、問題はどこかにあります。

表の最初の列tb_userusername(admin or user)

それ0ですか1?そうでない場合、ここに問題があります:

// $row[0] is the value of username you said, how could it be 1?
if($row[0]=='1') { 
于 2012-09-27T01:52:33.920 に答える
0

ここに問題があります:

if($row[0]=='1')

これは$rowの最初の列を調べます。あなたのコメントによると、これはユーザー名です。使用する必要があるのは、ユーザーが管理者であるかどうかを判断するために使用するものです。

// Something like this
if($row['isAdmin'] == 1)
于 2012-09-27T01:52:57.290 に答える