PHP会话没有在Wordpress中保持设置w / header重定向

时间:2015-06-17 00:44:50

标签: php forms redirect post get

我一直试图让这个脚本在过去几天工作,但无论出于何种原因,会话都会因为标题重定向而失败。

如果设置了$ _POST,我会执行错误检查并设置$ _POST变量&错误作为会话变量。此过程发生在页面加载页面之前。设置会话后,标头重定向会重新加载页面以清除$ _POST数组。

页面加载后,会话被设置为页面正文内的函数内的变量。然后会话被取消并被破坏。

我遇到的问题是标头重定向正在加载具有空会话数组的页面。我在我的页面中添加了一个var_dump来检查从会话数组传递的内容。当页面使用标题重定向时,数组为空,但如果删除重定向,则会话包含所有正确的变量。

我不明白为什么因为在页面加载并且会话被设置为标准变量之后使用session_unset()和session_destroy()取消了会话。

解决:

问题在于我如何在wordpress中启动会话。即使它是在解析任何HTML之前启动的,我仍然必须将它作为functions.php中的初始化函数传递。 1只设置优先级。

add_action('init', 'myStartSession', 1);
function myStartSession() {
    if(!session_id()) {
        session_start();
    }
}

可以根据需要使用或更改此功能,重要的是会话在WP初始化时启动。希望这可以帮助其他有类似问题的人,并节省几天的反复试验。

0 个答案:

没有答案