2017-04-21 77 views
0

所以我試圖做一個虛擬的網站,只有被標記爲高級會員才能看到某些內容。由於它是一個虛擬網站,因此這種區分的方式是在創建帳戶時在複選框上選擇是或否。但是,我無法弄清楚的是,我可以對整個網站進行檢查,以確保用戶是高級會員,而不是普通會員或訪客。在註冊頁面本身,我想如果用戶是高級會員,我可以用一個if語句最初紀念像這樣php限制用戶內容

if($user['premium'] == 1){ 
    $_SESSION['premium'] = true; 
} 

,但我會怎麼做起來很喜歡membersonly.php頁面只顯示了?我假設我不得不使用一個函數或一個類,但我真的不知道我需要在內部做什麼。

編輯 我想我沒有解釋自己不夠清楚,並不奇怪,因爲我張貼這在凌晨2點。我不想只是將普通用戶和客人重定向到membersonly.php我想要它,所以只有memberonly頁面的鏈接纔會顯示在導航欄上(如果用戶有高級帳戶)。這可以通過if語句來實現嗎?或者我需要創建一個專門用於監視這個函數或類的類?

回答

0

你可以簡單地通過以下步驟做: 1.點擊按鈕事件後的第一次檢查,如果用戶是溢價還是正常 2.把一個if條件,如果用戶是優質然後

header('Location: ****.php'); 

其他php文件使用相同的方式。

注意:如果用戶是高級或正常用戶,則需要向您添加數據庫。

+0

不需要類和函數。 –

0

我假設你知道基本的php遵循你的會員頁面上的步驟。

  1. 創建與數據庫的連接。

  2. 從用戶id(我認爲你完成了使用登錄)獲取用戶。

  3. 檢查條件,如果用戶不是優質,那麼用戶是溢價,然後將其重定向到主頁。

    require_once('connection.php'); // Fetch user details. if($user['premium'] != 1){ header("location:index.php"); }

0

在db表「is_premium'.Upon添加標記欄保存,如果用戶是 溢價比這個標誌值,否則插入1 0.Than創建,檢查 如果一個函數登錄的用戶是否保費,並且在每個 頁面的開始處調用此函數。以下是檢查用戶的溢價 函數的功能的實現。

function checkPremium(){ 
if($_SESSION['premium'] == true){ 
    return true; 
}else{ 
    header('Location:some_other_page.php'); 
} 
}