2012-10-02 64 views
0

使用PHP和MySQL使用PHP和MySQL,插入時間戳用戶註銷

當我一個用戶登錄我能插入他們的登錄時間戳到MySQL,同時使用會話和與使用功能的。該功能將更新數據庫並且工作得非常好。

現在,是否有可能得到一個時間戳記,並在用戶點擊「註銷」和登出將運行的地方以相同的方式記錄到MySQL中session_destroy()

我正在尋找的所有內容都是用戶點擊登出時的時間戳,只是讓我知道他們已經註銷。我不擔心他們是否關閉瀏覽器並走開。

我已經嘗試做一些像session_destroy(東西);並將其用作功能。我得到的只是運行時錯誤。這是甚至可以做到的事情嗎?

+0

不,恐怕沒辦法。 –

+0

@lonul爲什麼沒有辦法? –

+0

http://stackoverflow.com/questions/1287064/php-session-timeout-callback有一些好主意 –

回答

2

用戶單擊註銷時記錄註銷時間應該沒有問題(當然,如果瀏覽器關閉,這將不起作用)。在調用session_destroy()之前,只需獲取UserID並在數據庫中更新該用戶即可。

例如:

Logout.php

$query = "update user set logoutDate=CURRENT_TIMESTAMP where user={$_SESSION['userID']}"; 
mysql_query($query); 

session_destroy(); 
+0

正確,但你應該逃避你的輸入或使用準備好的語句。另外,'mysql_'函數已經開始了棄用過程。 (Upvoted無論如何) – Lusitanian

+0

謝謝我用過:一個包含聲明,調用我的數據庫。然後我做了一個session_start(); mysql_query(「更新'用戶'設置''註銷'= NOW()WHERE'user_id' ='$ _SESSION [user_id]'」); session_destroy();並完成一個頭文件。我已經把它放在了一個註銷頁面。希望這是做這件事的正確方法。 –

+0

謝謝亞當用這個把我指向賴特方向。 –

0

嘗試這樣

//code for inserting logout time in database of user 
session_destroy(); 

,併發布您的代碼。

0

您可以編寫一個名爲logout()的函數,類似於login(),除了它存儲註銷時間戳,然後調用session_destroy()。

+0

我喜歡這個想法,它通過使用註銷功能讓我的頁面更加乾淨。這樣我就可以將我的所有功能都保存在一個地方。謝謝 –