使用$_POST和$_SESSION进行分页

时间:2014-03-22 作者:Eckstein

我的网站上有一个页面,左栏是一组代表分类法的复选框,右栏是属于所选分类法的帖子列表。用户可以选中或取消选中这些框,并提交一个表单,然后在右侧列中显示结果。这很好,下面是我使用的简化代码:

    <?php session_start();

if (isset($_POST)) {
$_SESSION[\'filters\'] = $_POST;
}
?>

<div id="sidebar">
    <form id="filters" method="POST">
        <input type="checkbox" name="filter1" value="term1" />
        <input type="checkbox" name="filter1" value="term2" />
        <input type="checkbox" name="filter1" value="term3" />
        <input type="checkbox" name="filter2" value="term1" />
        <input type="checkbox" name="filter2" value="term2" />
        <input type="checkbox" name="filter2" value="term3" />
</form>
</div>
<div id="results">
    <?php
    //The query is here, which changes dynamically based on the boxes checked above
    I\'m using $_SESSION[\'filters\'] to call $_POST variables inside the query
    ?>
</div>
问题是,当Wordpress进行导航时,它会转到像mysite这样的URL。com/thispage/page/2/它没有像我需要的那样保留表单值。它会重置它们,就好像表单根本没有提交一样。当用户浏览结果页面时,如何让所选的to值跟随用户。

这是我第一次尝试使用会话,所以我可能完全走错了方向。非常感谢您的帮助。

1 个回复
最合适的回答,由SO网友:dipali 整理而成

将下一行代码添加到functions.php 活动主题中的文件以启动会话。

function example_login() {

    if ( ! session_id()) {
        session_start();
    }
}
add_action( \'init\', \'example_login\' );
然后使用$_SESSION 存储的值$post

结束

相关推荐

Ajax, jQuery and Wordpress

我很难让AJAX和jQuery与WP一起工作,我想知道是否有人能为我指明正确的方向。我有一个表单,我想将表单中的数据传递给PHP函数,在那里返回数据,然后<div> 使用PHP函数处理的数据创建。我有一个版本在WP之外工作,但我似乎无法移植它。我已经学习了很多教程,但似乎什么都不管用。我有下面的代码,它应该简单地用表单中的数据创建一个警报窗口,并在前面加上“hello”,但JS函数从未被调用过。它不断增加?name=name 到页面URL。我还尝试创建一个单独的JS文件,并用..加载脚本。。w