2013-07-20 130 views
0

我一直在關注如何在php和mysql中創建登錄和註銷頁面的在線教程,這似乎很容易,直到我登臺,喜歡修改腳本,我試圖把管理員的頁面,用戶將有權訪問一些鏈接..我在我的用戶表中添加一列名爲user_level,我想當用戶登錄他他的user_level是1他會訪問鏈接的season.php腳本,但如果他的user_level是2,他將被引導到另一個頁面......我試着這樣做以下,但其沒有工作創建管理員頁面,以便用戶不能訪問其他頁面

if($user_level == 1){ 

header("Location: links.php"); 

} 
else($user_level == 2){ 

header("Location: client.php"); 

} 

這是我session.php文件代碼

<?php 

if(!isset($_SESSION['name'])&&isset($_COOKIE['testsite'])){ 
    $_SESSION['name'] = $_COOKIE['testsite']; 
} 

$dir = "profiles/".$_SESSION['name']."/images/"; 
$open = opendir($dir); 

while(($file = readdir($open)) != FALSE){ 
    if($file!="."&&$file!=".."&&$file!="Thumbs.db"){ 
     echo "<img border='1' width='70' height='70' src='$dir/$file'>"; 
    } 

} 

echo "&nbsp<b>".$_SESSION['name']."</b>'s session<br /><a href='logout.php'>Logout</a>"; 

if($user_level == 1){ 

header("Location: links.php"); 

} 
else($user_level == 2){ 

header("Location: client.php"); 

} 
?> 
+0

'$ user_level'定義在哪裏? –

+0

它在做什麼,你期望它做什麼?你需要一個'if'與你的'else {}',例如'elseif(邏輯)'或'else {if(邏輯){}}' –

+0

首先你必須學會​​如何使用'if/else'條件。例如,在你的第一個代碼部分,你必須使用'else if',而不是'else'。然後在第二部分'!isset(blabla)&&!isset(blabla)'。沒有語法,你不能移動1步 – hakiko

回答

0

你的語法是錯誤的,如果你想顯示的鏈接,你不應該重定向,這或許應該是這樣的:使用header("Location: client.php");可以肯定,這是第一的事情時,

if($user_level == 1){ 
    // don't redirect here 
    include "links.php"; 
} 
// check the php manual for the correct usage of if/else/elseif 
elseif ($user_level == 2){ 
    header("Location: client.php"); 
    // terminate the script 
    exit; 
} 
+0

你是正確的第二部分沒有equeal算子在第二個'isset()' – hakiko

+0

@hakiko錯過之前說實話,我甚至沒有看第二部分,但它似乎是正確的OP想要做什麼;您需要將Cookie設置爲可以分配它。 – jeroen

0

而且,來自您的腳本。你不能轉儲出整個html頁面,然後把它放在底部,它不會重定向。