2013-05-03 25 views
0

是否可以編輯登錄用戶的會話數據?編輯登錄用戶的會話數據

例如,用戶諾曼登錄,並設置下面的會話cookie $ _SESSION ['addPost'] = 0

這意味着用戶可以添加帖子。假設我想阻止該用戶添加帖子。我需要將該cookie設置爲1.我可以更改cookie值嗎?因爲,直到用戶註銷並再次登錄,它不會更改,他仍然可以添加帖子。

如何才能做到這一點?

+0

我強烈建議使用cookies。操作數據庫中的數據比從$ _SESSION預置的數據要多得多。 – 2013-05-03 16:16:16

+0

爲什麼不重置個人$ _SESSION選項? – ajtrichards 2013-05-03 16:19:48

+0

您只能訪問PHP中的$ _SESSION變量,並且只能在用戶訪問該頁面的情況下訪問PHP內部的變量。 – 2013-05-03 16:24:18

回答

0

不要編輯會話變量。爲此目的有更好的方法。

users表中使用多列post_access。如果您允許諾曼發佈,其值將爲1,而被阻止的用戶將獲得0.

假設您已阻止用戶發佈,因此您已將post_access列中的值更改爲users表中的值0。

後創作的腳本

現在,發佈數據之前,做一個條件,如果用戶的帖子的訪問是通過從表中的「用戶」使用會話名稱的新查詢用戶數據進行比較,設置爲1或不作者。

樣品:

$userdata = get(1 from "users" where user = "$_SESSION['user']"); //don't mind the get function. Use your own QUERIES. Just mind the logic. 
    $post_access = $userdata['post_access']; 
    if($post_acess == 1){ 
    //post the data 
    }else{ 
    //Bro you are blocked 
    } 

這將是控制崗位最有效的方法。