2016-12-31 107 views
-1

我很新的PHP,我需要做一個登錄系統,我需要檢查用戶是否有一定的權限,然後在頁面上顯示的東西。讓我舉一個僞代碼示例:mySQLi和PHP登錄系統具有不同的權限

IF USER HAS PERMISSION "CONTACTS" OR USER HAS PERMISSION "ALL" 
    SHOW CONTACTS LINK 

我一直在使用DevDojo的php login script,我想類似的東西,或代碼的一個多層次的系統的適應。 我在這裏嘗試了很多東西,但沒有一個真正適合我的需求,我需要使用類似if $user->hasPermission("contacts")的東西。因爲我有很多功能,1,2級等不適合,管理員也不會。我很新手,所以解釋是歡迎的!提前致謝。

+0

我可以知道爲什麼downvoting? – MucaP

回答

0

如果你有3個不同層次的用戶提供3是主音量...

當用戶登錄時,設置一個PHP變量在數據庫中設置的權限值。

創建包含所有可見內容的模板。決定哪些部分對每個級別的用戶都是隱藏的,並使用PHP if語句來防止塊被加載到頁面。

一個非常基本的例子是

<?php $level=2; ?> 

<img src="http://someimg.com/img.jpg" alt="level 1"> 

<?php if($level >= 2){ ?> 
<img src="http://someimg.com/img.jpg" alt="level 2"> 
<?php } 

if($level == 3){?> 
<img src="http://someimg.com/img.jpg" alt="level 3"> 
<?php }?> 

在此示例中,變量$水平代表用戶級別,這之後是3個圖像。第一個圖像適用於所有級別用戶,第二個圖像可用於上面的用戶級別2 &,第三個圖像僅對主級別用戶可見。當您將「$ level = 2」更改爲1或3時,您可以看到更改。

+0

如何在mySQL中創建這個級別? – MucaP

+0

@MucaP在數據庫中添加一行稱爲級別的行,並將其設置爲與用戶名,密碼,電子郵件地址等相同。 –

+0

它會將varchar識別爲數字嗎? – MucaP