這是我的問題。如何註銷特定用戶會話(php和mysql)
我正在研究食品管理系統。
現在我有它當前有人登錄時,它將他們的信息放入登錄表。
然後,使用該信息,當用戶註銷時,它將它們帶出表格。
雖然多人登錄時我遇到了麻煩。
檢查此場景。
有人登錄。他們被帶到他們的儀表板,並根據食物表,食物列表和電子郵件列來查看他們的食物列表,指定誰擁有該特定物品。
現在,如果它們註銷,它會將它們從登錄表中取出。
但是,如果第一個用戶仍然登錄,並且第二個用戶登錄,那麼問題就會出現。
如果第二個用戶在第一個用戶之前先註銷,他的數據將被刪除。但是,如果第一個用戶在第二個用戶之前註銷,則第二個用戶的數據仍將從表中刪除。如果第二個用戶刷新,他將顯示第一個用戶信息。
它與我認爲的會話有關,當用戶登錄時,它會轉到儀表板並啓動會話。我設置它的方式是,當會話啓動時,它從最新用戶電子郵件的登錄表中提取。這就是這個問題。當2 ppl登錄時,用戶電子郵件變量現在引用最近的用戶,所以當第一個用戶註銷時,最近的用戶將被註銷。
有沒有一種方法可以創建獨特的會話,或者在用戶登錄時存儲用戶的電子郵件/用戶名,所以我可以在他們註銷時引用特定用戶的電子郵件。
以下是啓動會話和查找最近用戶的代碼。
<?php require_once('Connections/localhost.php');
$index = 0;
?>
<?php
//initialize the session
if (!isset($_SESSION)) {
mysql_select_db($database_localhost, $localhost);
$log = mysql_query("SELECT email FROM loggedin") or die(mysql_error());
while($cols = mysql_fetch_array($log)){
$value = $cols['email'];
$email[$index] = $value;
$index++;
}
session_start();
然後,我在查詢中引用$ value變量。
因此,每次有人登錄時,都會運行此代碼,然後將$ value設置爲最近的電子郵件,或者更確切地說,查詢電子郵件數組末尾的電子郵件。因此,當用戶1註銷它時,然後在查詢中使用$值,但$ value現在設置爲下一個用戶的電子郵件。我需要它,以便它保持爲登錄的用戶電子郵件。
除非你在做一些奇怪的事情,否則會話_should_對用戶來說是唯一的。與其試圖從頭開始編寫此代碼,您可能希望找到一個您喜歡的框架,它將提供執行此類操作的代碼。 – Kryten
這個問題似乎對Stack Overflow來說過於寬泛,這是針對有明確答案的編碼的具體問題。高級別設計概念和最佳實踐的討論更適合於http://programmers.stackexchange.com。請閱讀[此meta post](http://meta.stackexchange.com/a/82990/228805)瞭解更多信息。如果您有特定的編碼問題,則需要提供更多信息。請閱讀此[關於如何提出良好問題的建議](http://stackoverflow.com/help/how-to-ask)。 –
我在代碼中添加了一些更具體的內容。 – user3486712