Сессия сохраняет только записи и не сохраняет остальные записи в PHP? - PullRequest
0 голосов
/ 07 января 2010
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-я не сохраняется в сеансе. Сеанс только с сохранением 10 элементов массива может кто-нибудь сказать мне, почему ??

Ответы [ 2 ]

1 голос
/ 07 января 2010

Код, который вы разместили, не имеет отношения к описываемой вами проблеме.

Попробуйте создать код с нуля, чтобы повторить проблему.

С

0 голосов
/ 07 января 2010

Возможно, ваша проблема связана с самим вашим массивом. Если у вас есть две тележки с одинаковым значением $mydate, последний заменит первое значение. В этом случае вам нужно использовать многомерный массив, т.е.

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

В противном случае, возможно, вы пропустите первую проверку isset($mycart[$mydate]), которая по существу пропустит всю корзину.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...