使用php session

时间:2016-07-27 07:09:08

标签: php wordpress session variables parameter-passing


我使用wordpress
我想将第一页中表单收集的数据发送到下一页。我没有找到任何可以将数组数据发送到除GET命令以外的其他页面的内容,GET命令使用URL,我没有使用此GET的原因是发送信息包括使用输入信息计算的价格值

我发现这个$ _session对我的情况似乎没问题(如果有其他可用,请告诉我),使用wp会话管理器插件使用$ _SESSION。
我这样使用它,

if(!isset($_SESSION)){
    session_start();}

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

B2是立即购买按钮

function buy_now(){
 if(isset($_GET['B2'])) {
 header("Location:".get_site_url()."/buy-now/");
 } 

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

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

4 个答案:

答案 0 :(得分:0)

word press提供了另一种方法 wp_cache_get / wp_cache_set

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

wp_cache_set

wp_cache_get

答案 1 :(得分:0)

每当你需要检查会话是否开始时你不应该检查ist with $ _SESSION你需要检查session_id()是否生成(检查帖子以检查会话开始Check if PHP session has already started

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

答案 2 :(得分:0)

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

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

在下一页

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

那就是它。

答案 3 :(得分:0)

请参阅https://codex.wordpress.org/Class_Reference/WP_Object_Cache以获取详细说明,并记住根据您的使用情况删除/重置其他可能是个问题。