【问题标题】:Session is saving only records and it's not saving the rest of the records in PHP?会话仅保存记录,而不是在 PHP 中保存其余记录?
【发布时间】:2010-01-07 13:47:30
【问题描述】:
function  mycart($mydate=null,$day=null)
 {
  $mycart= $this->session->userdata('mycart');
  $totalprice=$this->session->userdata('totalprice');

    if($this->limitation($mydate) && (!(isset($mycart[$mydate]))) )
    {          
     $mycart[$mydate] = array(
     'meal' =>$this->session->userdata('meal'),
     'day' =>$day,
     'date' =>$mydate,
     'disable'=>FALSE,
     'flag'=>null);
     $this->session->set_userdata('mycart',$mycart);  

     $this->session->set_userdata('totalprice',$totalprice);
    }// end  of if        

 }//  end  of  function

我在会话中保存了一个名为 $mycart 的数组,但只有 10 个购物车,即只有 10 条记录被保存,之后第 11 条记录没有被保存在会话中。 session 只保存了 10 个数组元素,谁能告诉我为什么?

【问题讨论】:

    标签: php session variables


    【解决方案1】:

    您发布的代码与您描述的问题无关。

    尝试从头开始创建代码来复制问题。

    C.

    【讨论】:

      【解决方案2】:

      也许您的问题与您的阵列本身有关。如果您有两个具有相同 $mydate 值的购物车,则后者将覆盖第一个值。在这种情况下,您需要使用多维数组,即:

      $mycart[$mydate][] = array(
           'meal' =>$this->session->userdata('meal'),
           'day' =>$day,
           'date' =>$mydate,
           'disable'=>FALSE,
           'flag'=>null);
      

      否则,您可能会跳过对 isset($mycart[$mydate]) 的第一次检查,这实际上会跳过整个购物车。

      【讨论】:

      • 没有相同的购物车没有被存储我检查了这种可能性。(!(isset($mycart[$mydate]))) 条件不允许添加其他具有相同键名的购物车。我之前第 11 条记录一切正常。但是在会话中保存 10 个购物车后,它只是不保存第 11 个。我们在会话中保存的项目数量是否有限制???我需要做一些设置吗?跨度>
      猜你喜欢
      • 2021-10-18
      • 1970-01-01
      • 2013-09-11
      • 2017-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多