【问题标题】:Php session doesn't store on the same array but creates new onephp会话不存储在同一个数组上,而是创建一个新的
【发布时间】:2016-07-31 10:36:14
【问题描述】:

我正在尝试将变量存储在多页网站上的会话数组中,但它会不断替换数据,并且在添加新数据时不存储它,如果有人能帮助我一直在尝试,我将不胜感激工作了很长时间,我阅读了不同的有用提示,但我仍然不知道我在这里做错了什么。

代码是:

if (empty($_SESSION['cart'])){
$_SESSION['cart'] = array();}

if(isset($_SESSION['count'])){
$count_cart= $_SESSION['count'] ;
}


if (isset($_GET['id'])) {
    if(isset($_SESSION['cart'])){ $_SESSION['cart']= array();}


        array_push($_SESSION['cart'], $_GET['id'] );






foreach ($_SESSION['cart'] as $key => $count_cart) {var_dump(   $_SESSION['cart']);
}

}

【问题讨论】:

  • session_start()在哪里?
  • 添加另一个键作为计数器。
  • @u_mulder 它从每个网页的开头开始
  • @Robert 你的意思是把它添加到 foreach 循环中?确切的格式是什么?谢谢
  • 你必须放置一个计数器。我无法向您展示实际示例和格式,因为我在手机上,但在您添加产品之前,请执行以下操作 $_SESSION[$counter]['cart'] = XYZ

标签: php arrays session


【解决方案1】:

检查您的代码:

if (isset($_GET['id'])) {
    if(isset($_SESSION['cart'])){

        // this line RESETS your `$_SESSION['cart']` data 
        // and creates empty array
        // so you need to remove this line
        $_SESSION['cart']= array();

        array_push($_SESSION['cart'], $_GET['id'] );
    }
}

【讨论】:

  • 我删除了这部分,但每当发布新数据时仍然会覆盖阵列上的数据
  • 请将您的新代码发布到问题中,我看不到您删除的内容以及代码现在的样子。
  • 你删除了不是我所说的。你知道你写$_SESSION['cart']= array();时会发生什么吗?
  • 我知道了,我删除了你提到的那个,它工作并保存了数据而不是覆盖它,非常感谢。但是计数器出现了一个问题,每当我发布新的提交帖子时,它都会不断跳过计数。我的意思是它给出了 1,然后是 2,然后是 5,真的很有趣:)。
  • 我也发现了计数器的问题,看来代码中有重复导致此问题。再次感谢您。
【解决方案2】:
<?php 
session_start();
/*session is started if you don't write this line can't use $_Session  global variable*/
$_SESSION["newsession"]=$value;
?>
Getting Session
==========================
<?php 
session_start();
/*session is started if you don't write this line can't use $_Session  global variable*/
$_SESSION["newsession"]=$value;
/*session created*/
echo $_SESSION["newsession"];
/*session was getting*/
?>

你必须通过调用 session_start(); 开始会话; more here

【讨论】:

    猜你喜欢
    • 2023-04-03
    • 2022-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-25
    • 1970-01-01
    • 2022-07-21
    • 2021-09-30
    相关资源
    最近更新 更多