2012-10-06 78 views
1

好了,所以我創建了一個用戶表我的數據庫內保存所有用戶的數據用戶級別

CREATE TABLE `user` (
`id` INT NOT NULL auto_increment, 
`username` VARCHAR(50) NOT NULL default '', 
`nicename` VARCHAR(255) NOT NULL default '', 
`email` VARCHAR(255) NOT NULL default '', 
`password` VARCHAR(255) NOT NULL default '', 
`permissions` INT NOT NULL default '1', 
UNIQUE KEY `user_n` (`username`), 
UNIQUE KEY `user_e` (`email`), 
    PRIMARY KEY (`id`) 
); 

我想的權限字段來決定哪些用戶可以和不能看到的。 IE瀏覽器。 ACP的權限要求權限級別爲3,而1是註冊用戶,0是訪問該站點的訪客。如何根據用戶權限級別獲取頁面來阻止自己?提前致謝。 使用MySQL/PHP

+0

顯示的信息查詢網頁上查詢需要佔用用戶的級別作爲參數。發佈信息所在表格的結構,我給你舉個例子。 – MrLore

+0

我還沒有真正創建信息的表;仍在開發所有這些; ('id' INT NOT NULL auto_increment,'page_name' VARCHAR(50)NOT NULL默認值'','title' VARCHAR(50)NOT NULL默認值'' ,'header' VARCHAR(50)'','content' LONGTEXT NOT NULL default'',PRIMARY KEY('id')); 「所以,如果你有任何想法,那就太棒了。萬分感謝。 –

回答

0

有用戶登錄,從表中獲取他的權限並根據權限將他/她重定向到適當的頁面,例如,

$dbh = new PDO("mysql:dbname=dbname;host=hostname", "username", "password"); 
$result = $dbh->prepare("select check_user_exists(?) as retval"); 
$result->bindParam(1, $value, PDO::PARAM_STR, 2); 
$result->setFetchMode(PDO::FETCH_CLASS, 'stdClass'); 
$result->execute(); 
switch($result) { 
case 1 : $header('Location:x.php'); 
case 2 : $header('Location:y.php'); 
case 3 : $header('Location:z.php'); 
default 'no suitable page found'); 
break; 
} 
+0

我和標題看起來好像他們開始學習可能是件好事。從來沒有相處得很好,但表明他們可能相當有效。我通常只是在需要的基礎上使用它們,但我可能不得不多反思一下它們。也;我不確定$ dbh是什麼;是一個全局變量還是我必須在我的配置文件中手動設置的變量? –

+0

剛剛編輯我的答案給你一個DBH的想法,實際上DBH ia變量的PDO類型更PDO上可以閱讀在http://php.net/manual/en/book.pdo.php – Satya

+0

我會帶一個看;全新的系統給我,所以希望我能相對迅速地掌握它。 –

0

如果你不想使用MySQL user-account-management您可以使用開關罩

$permissions = $_GET["permissions"];//Or Post from html page 
switch ($permissions) 
{ 
case 1: 
    //Level 1 code 
    break; 
case 2: 
    //level 2 code 
break; 
case 3: 
//level 3 code 
    break; 
default: 
    //default code 

}

+0

這看起來相當簡單和有效的同時。我不得不更多地研究它,因爲我從來沒有見過這樣的事情,但我認爲它理解。基本上會有網頁的代碼,然後它會破壞。 1級用戶將看到1級代碼,但不是2或3級。現在將0作爲未註冊用戶的權限級別工作嗎? IE'$ permissions = $ GET [「permissions」]; ($ permissions){case 0:<?php include'body_content_guest.php'; ?>打破;情況2:<?php include'body_content_user.php'; ?>打破;情況3:<?php include'body_content_admin.php'; ?>} –

+0

用戶名和密碼也將從調用頁面傳遞並用於驗證密碼有許多腳本可以使用PHP/MySQL進行登錄,您可以添加到腳本中。同樣,因爲它是一個新的應用程序,您應該使用PDO而不是mysql_ *函數進行教程,請參閱http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps-pdo-for-database -access/ –

+0

我會閱讀PDO。謝謝(你的)信息。 –