2014-02-25 238 views
0

我想知道是否有人可以給我一個關於如何將變量傳遞到Wordpress中的另一個頁面的想法。
我需要能夠使用get_the_ID();函數來設置可以從任何頁面訪問的變量。
我能將變量存儲在會話中嗎?或者這會成爲一個安全問題?在Wordpress中將變量從一個頁面傳遞到另一個頁面

我完全在錯誤的軌道上,因爲說實話,我不知道我在做什麼。任何幫助都會走很長的路。

乾杯

回答

2

使用會話不是一個安全問題,只要你沒有得到任何用戶輸入(否則sanitize/encrypt你的價值)。

來吧,把你的整個應用程序中使用它像這樣

<?php 
$_SESSION['next-page-id'] = get_the_ID(); // once set 

現在,您可以訪問會話變量是這樣的:

if (isset($_SESSION['next-page-id'])) { // remember to check if it set or not 
    echo $_SESSION['next-page-id']; 
} 

編輯:

你不」不必在每個頁面的頂部使用session_start(),而應該在init鉤子中添加一個函數。

就在這個小小的代碼粘貼到您的functions.php文件

function session_initialize() { 

    if (! session_id()) { 
     session_start(); 
    } 
} 
add_action('init', 'session_initialize'); 

是否有可能爲用戶瀏覽會話變量?

不,用戶根本無法查看您的會話。如果他們無法訪問您的文件。

wordpress如何阻止用戶創建自己的會話變量?

記住WordPress的整個應用程序不使用會話(只有餅乾)。用戶不能創建會話變量。如上所述,他們必須編寫代碼到您的PHP文件(或者,如果任何插件或主題被發現存在漏洞,他們會將代碼注入到您的應用程序中)。

+0

非常感謝你!這正是我所需要的。 另外,不得不添加session_start();在每個頁面的頂部,我想從中訪問該變量。 用戶是否有可能查看會話變量?wordpress如何阻止用戶創建自己的會話變量?對所有問題抱歉。 – LWNZ

+0

@Laurie威廉姆斯看到我的編輯。 –

+0

@RahilWazir - 我不小心拒絕了你編輯的問題(沒有注意到附加標籤)。現在我想弄清楚如何收回我的拒絕投票 - 對不起有關 –

相關問題