2012-07-25 98 views
1

我正在php中創建一個登錄模塊。我正在使用會話變量。 在文件的頂部,我寫 session_start();如何在php中使用會話?

然後當我登錄密碼進行身份驗證,我寫 $_SESSION["username"] = $_POST["userid"]

現在我需要做別的事情,以及以確保會話開始了維持?因爲只要它登錄,它會自動註銷?這是否意味着會話一旦我登錄即失效?在那種情況下,我應該怎麼做才能讓會議維持?

+0

會話在您關閉瀏覽器時過期。 Cookie設置一段時間。 http://www.w3schools.com/php/php_sessions.asp http://www.w3schools.com/php/php_cookies.asp – 2012-07-25 09:15:44

+0

你一旦登錄就會做什麼,它會自動註銷? – asprin 2012-07-25 09:15:55

回答

1

Put session_start();在頁面的頂部,您將使用會話變量。 並確保您不會在您的登錄腳本中取消設置會話。

0

session_start()不啓動會話,它啓動會話引擎。它必須在上運行,每頁您想要訪問會話。

1

不,會議是爲了留在請求之間的會話數據的所有文件的頂部需要session_start();。如果您在下一次請求時讀取$_SESSION['username'],它將包含您在先前請求中保存的數據。顯然,您需要在每個要與其交互的頁面的開始處放置session_start();

+0

我認爲會議不僅僅是「請求之間」 - http://en.wikipedia.org/wiki/Session_(computer_science) – Alex 2012-07-25 09:26:42

+0

我們正在談論PHP中的會話含義,因此這種簡化是可能的。 – 2012-07-25 09:28:12

0

頂部,session_start();也要在每個頁面上使用會話,你需要這個功能。

只要您沒有刪除會話或關閉瀏覽器,會話就會持續,不確定會在某個時間過期。 要檢查您是否仍然登錄,可以使用$username = $_SESSION['username'];訪問會話,或者函數isset($_SESSION['username'])也有幫助。