2012-09-27 118 views
1

我为两个管理员用户创建了一个表,我授予他们完全访问权限。会话不能在php中工作

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选项。

有什么建议吗?

+0

你的两个代码是否是同一个文件? –

+0

@GlaciesofPacis:没有iam使用不同的文件 – VSK

+0

tb_user的第一列是什么? – xdazz

回答

0

既然你说你做了session_start();sample.php,所以问题在别的地方。

请注意你说表tb_user的第一列是username(admin or user)

0还是1?如果没有,那么现在的问题是:

// $row[0] is the value of username you said, how could it be 1? 
if($row[0]=='1') { 
+1

ID用户名密码| 1管理员**** | 2用户****表是这样的 – VSK

+0

@ user1059746那么你得到了什么'$ row [0]'?你确定你的会议是正确的吗? – xdazz

2

拨打session_start()作为您需要的每个脚本中的第一件事。

+1

我正在使用session_start();在这两个文件中 – VSK

+0

然后在第二个脚本上执行'var_dump($ _ SESSION)',并检查里面的内容。 – moonwave99

0

这里有一个问题:

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

这看起来在$行的第一列。根据你的评论,这是用户名。你应该使用什么来确定用户是否是管理员。

// Something like this 
if($row['isAdmin'] == 1)