2014-04-01 47 views
0

編輯:我用一些其他代碼固定它。感謝你的幫助! (我不知道如何設置這個問題回答)如何選擇特定用戶?

+0

也許你可以解釋當前的問題?如果用戶登錄,會發生什麼?如果管理員登錄,會發生什麼?執行的查詢必須有一個mysql_result()。 – Tyralcori

+0

當用戶登錄時,他們應該被重定向到index.php。但是當管理員登錄時,他應該被重定向到information.php。但我無法弄清楚如何確定用戶是否是管理員。 – Rubenxfd

回答

0

的mysql_query後,你必須做mysql_fetch_array從數據庫

$adminLogin = (mysql_query("SELECT `user_id` FROM `userswebsite` WHERE `username` = 'Admin'")); 

    $user_id = mysql_fetch_array($adminLogin);  

    if ($user_id == 13) 
    { 
     $_SESSION['user_id'] = $login; //zet gebruiker sessie 
     header('Location:informatie.php'); //Redirect gebruiker naar "informatie" 
     exit(); 
    } 

    else 
    { 
     $_SESSION['user_id'] = $login; //zet gebruiker sessie 
     header('Location:index.php'); //Redirect gebruiker naar "thuis" 
     exit(); 
    } 
+0

我明白你的意思,但仍然重定向到informatie.php :( – Rubenxfd

0

得到記錄我猜你是在PHP初學者

好的,你應該這樣做

$rs = mysql_query("SELECT `user_id` FROM `userswebsite` WHERE `username` = 'Admin'"); 
if ($rs && mysql_num_rows($rs) > 0) 
{ 
    $row = mysql_fetch_assoc($rs); 
    $adminlogin = $row['user_id']; 
} 

    if (isset($adminLogin) && $adminLogin == '13') 
    { 
     $_SESSION['user_id'] = $login; //zet gebruiker sessie 
     header('Location:informatie.php'); //Redirect gebruiker naar "informatie" 
     exit(); 
    } 

    else 
    { 
     $_SESSION['user_id'] = $login; //zet gebruiker sessie 
     header('Location:index.php'); //Redirect gebruiker naar "thuis" 
     exit(); 
    } 
+0

感謝您的幫助,但仍然重定向到informatie.php。 – Rubenxfd

+0

var_dump($ adminLogin)''的結果是什麼? – Rupam

0

除了其他答案,隨着你的網站的增長,你可能需要幫助來管理它。添加一個名爲「usergroup」的新字段會更好。然後你可以從userswebsite WHERE usergroup =「admin」或「moderator」中選擇*。這樣如果你需要一點幫助,你不必給他們你的管理員密碼。

0

在你的用戶表中有一個組列會更好,這樣你就可以擁有多個用戶訪問級別,再加上我認爲它會讓你更容易做你想做的事情。

define('SITE_NORMAL',0); 
define('SITE_ADMIN',1); 

$sql = mysql_query("SELECT `user_id`, `group_id` FROM `userswebsite` WHERE `username` = 'Admin' AND passwordhash='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'"); 

$row = mysql_fetch_assoc($sql); 
$login = $row['user_id']; 
$groupid = row['group_id']; 

$_SESSION['user_id'] = $login; //zet gebruiker sessie 
$_SESSION['group_id'] = $groupid; 

header('Location:'.($groupid==SITE_ADMIN ? 'informatie.php':'index.php')); 
exit(); 

這樣,任何用戶都可以進行管理員,只需設置GROUP_ID爲1

當然,你應該在繼續的MySQLi或PDO因爲PHP的MySQL已經被棄用。

此外,請確保您正在檢查每個頁面上的有效登錄。不要以爲$ _SESSION信息是有效的。