2012-09-27 60 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)