當我加載index.php時,沒有會話開始。有一個登錄表單使用我創建的登錄類,並且當用戶成功登錄時,他將被帶回到index.php,屆時應該開始會話。如何在索引頁面上啓動會話,如果這是登錄表單所在的位置?
我需要做些什麼來確保會話只在發生成功登錄時纔在索引頁上啓動?
當我加載index.php時,沒有會話開始。有一個登錄表單使用我創建的登錄類,並且當用戶成功登錄時,他將被帶回到index.php,屆時應該開始會話。如何在索引頁面上啓動會話,如果這是登錄表單所在的位置?
我需要做些什麼來確保會話只在發生成功登錄時纔在索引頁上啓動?
會話和身份驗證不是同義詞。您可以在不記錄日誌的情況下開始會話。您可以設置會話特定變量並檢查它以確定用戶是否已登錄。
只需在頁面頂部啓動會話即可,無論用戶是否登錄。
好的,謝謝。只是想仔細檢查。 – mishmomo 2013-05-08 17:38:06
不要擔心session_start()它不會設置任何會話,它只會啓動會話。所以,你可以在文件上面放的session_start()仍然
設置會話是相當簡單,當你運行登錄SQL查詢,並檢查是否有成功的結果提出,如果條件如果登錄成功,則設置會話,這樣的事情
if(sussessful_login) {
$_SESSION['yoursessionname'] = 'value';
}
你正在把自己置於22型的情況。一個登錄的成功將存儲IN會話,所以你必須啓動一個會話來檢查用戶的登錄。
你想要的東西更多類似這樣的
<?php
session_start(); // ALWAYS start a session, regardless
if(!isset($_SESSION['logged_in'])) {
... not login sentinel set, redirect to login page ...
}
... proceed onwards
這幾乎是我所擁有的。 – mishmomo 2013-05-08 17:39:52
嗨NojoRu。嘗試啓動會話之前,你重定向到index.php,你檢查登錄後成功 – joao 2013-05-08 17:38:50