关于wordpress:使用php会话将值从一页发送到另一页

Sending value from one page to another with php session

本问题已经有最佳答案,请猛点这里访问。

我正在使用wordpress
我想将第一页中通过表单收集的数据发送到下一页,我没有找到任何可以将数组数据发送到另一页的东西,除了GET命令,GET命令使用URL,我未使用的原因 此GET是发送信息,包括使用输入的信息计算出的价格值
我发现这个$ _session对我来说似乎可以(如果有其他可用的,请告诉我),使用wp会话管理器插件来使用$ _SESSION。
我正在这样使用它,

1
2
3
4
5
6
7
8
if(!isset($_SESSION)){
    session_start();}

if(isset($_GET['B2'])) {
$_SESSION["info"] ="user-form";
$_SESSION["weight"] = $weight;
$_SESSION["price"] = $weight;
buy_now(); }

B2是立即购买按钮

1
2
3
4
5
6
7
8
9
10
11
function buy_now(){
 if(isset($_GET['B2'])) {
 header("Location:".get_site_url()."/buy-now/");
 }

 if(!isset($_SESSION)){
    session_start();}
        echo $_SESSION["info"]."";
        echo $_SESSION["weight"]."";
        echo $_SESSION["price"]."";
 }

重量和价格均为未定义索引,将显示该信息。
这里有什么问题? 以及如何将变量发送到另一个页面?,我目前无法找到任何解决方案。 请帮忙...谢谢


每当您需要检查会话是否开始时,都不要用$ _SESSION来检查ist,您需要检查session_id()是否已生成(请检查发布以检查会话开始,检查PHP会话是否已经启动)

1
2
3
4
5
6
7
8
9
if (session_status() == PHP_SESSION_NONE) {
    session_start();
}
if(isset($_GET['B2'])) {
   $_SESSION["info"] ="user-form";
   $_SESSION["weight"] = $weight;
   $_SESSION["price"] = $weight;
   buy_now();
}


请参阅https://codex.wordpress.org/Class_Reference/WP_Object_Cache以获得详细说明,并请记住根据您的用例进行删除/重置,否则可能会出现问题。


我认为您必须尝试POST方法。

1
2
3
4
    <form action="test.php" method="post">
      <input type="text" name="my_value" value="value"/>
      ...
    </form>

在下一页

1
    <?php echo $_POST['my_value'];?>

而已。


按下文字提供另一种方法
wp_cache_get /
wp_cache_set

您也可以将其用作自己的CMS方法,通过定义过期时间将数据从一页传递到另一页。

wp_cache_set

wp_cache_get