1

我只为我授予完全访问权限的两个管理员用户创建了一个表。

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 回答