2016-07-31 130 views
-2

我有一個使用PHP的客戶端頁面,然後進入Wordpress頁面。客戶端頁面上的會話被記住,但是當我從Wordpress加載新頁面時,會話是空的。爲什麼Wordpress不像我的客戶端頁面那樣存儲會話數據呢?在Wordpress網站上使用會話

此代碼是在登錄頁上:

my_session_register('user_id'); 
$_SESSION['user_id']=$user_id; 
header('Location: booking_user.php'); 

這段代碼在WordPress的檢查會議:

if (!my_session_is_registered('user_id')) { 
    header('Location: login.php'); 
} 

我只是不知道如何將會議持續到WordPress的。

回答

0

你忘了添加session_start()這可能會導致問題。

如果你要使用$_SESSION必須有session_start()

瞭解更多關於它:Here

0

你必須每u使用會話,或者其保存在一個文件中,包括其頁面上添加session_start();每次。

0

儘管我的回答和其他兩個答案一樣,但我會告訴你爲什麼。 Wordpress是無狀態所以默認情況下,您不能使用$_SESSION將頁面之間的數據推送到頁面。這就是爲什麼你必須在Wordpress網站上添加session_start()。您可能要到session_start()扔進一個init鉤的WordPress:

// You may just be able to write this 
add_action('init', 'session_start'); 

如果以上不工作(我不明白爲什麼它不會):

// You can add your own function as a wrapper 
add_action('init', 'startCustomSession'); 

function startCustomSession() 
    { 
     session_start(); 
    }