在Wordpress中将变量从一个页面传递到另一个页面

时间:2014-02-25 23:27:11

标签: php wordpress

我想知道是否有人可以让我知道如何将一个变量传递给Wordpress中的另一个页面 我需要能够使用get_the_ID();函数来设置一个可以从任何页面访问的变量 我能将变量存储在会话中还是会出现安全问题?

我完全走错了路,因为说实话,我不知道我在做什么。任何帮助都会有很长的路要走。

干杯

1 个答案:

答案 0 :(得分:1)

只要您没有获得任何用户输入(否则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 hook中添加一个函数。

只需将此微小代码粘贴到您的functions.php文件

即可
function session_initialize() {

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

用户是否可以查看会话变量?

不,用户根本无法查看您的会话。如果他们无法访问您的文件。

  

wordpress如何阻止用户创建自己的会话变量?

请记住,Wordpress在其整个应用程序中不使用会话(仅限Cookie)。用户无法创建会话变量。如上所述,他们必须将代码写入您的php文件(或者如果任何插件或主题易受攻击,他们会以某种方式将代码注入您的应用程序。)