2015-07-15 9 views
0

Я начал изучать codeigniter, и теперь у меня есть одна проблема. Я делаю интернет-магазин для ноутбуков, и теперь у меня есть желание сделать тележку. Я хочу запомнить все данные в сеансе, когда пользователь добавит какой-нибудь ноутбук в корзину, заново зарегистрирован или нет. Но моя проблема в том, что я помню в сеансе только последний добавленный идентификатор ноутбуков. Мне удалось запомнить количество ноутбуков в целом и общую цену, но не могу справиться с тем, как запомнить все ID. Я использую следующий код в контроллере:данные о кодеригере массива в сеансе

public function adding() 
{ 
    $id_lap=$this->input->post('id_lap'); // id laptop of which was clicked by user 
    $num_items=$this->input->post('num_items'); // total number of laptops 
    $price=$this->input->post('price'); // total cost 

    if($id_lap !='') 
    {  
      $this->session->set_userdata('num_items',$num_items); 
      $this->session->set_userdata('price_new',$price); 
      $this->session->set_userdata('id_lap_new',$id_lap); 

      $response=array(
       'status'=>1, 
       'num_items'=>$num_items, 
       'price_new'=>$price, 
       'id_new_lap'=>$id_lap 
      ); 

    } else { 

     $response=array(
      'status'=>0 
     ); 
    } 

    echo json_encode($response); 
} 

Я использую Ajax для отправки данных в контроллер.

Спасибо за ответ, я ценю.

ответ

0

попытайтесь сохранить сеанс в базе данных, сначала откройте файл config.php в папке приложения и измените значение параметра базы данных сеанса связи на значение true. Импортируйте структуру sql, как у вас, и используйте сеансы, подобные вашим. Он сохранит переменную сеанса в db. Возможно, вы захотите включить шифрование сеанса.

+0

Я не могу найти в опции config.php для базы данных сеанса. Даже если я сохраню в базе данных, что будет уникальным ключом для каждой сессии? –

+0

Файл config.php находится в папке приложения. session_id() - уникальный идентификатор, который вы можете использовать. – sriharichander

+0

Это то, что у меня есть для сеанса в config.php $ config ['sess_driver'] = 'files'; $ config ['sess_cookie_name'] = 'ci_session'; $ config ['sess_expiration'] = 7200; $ config ['sess_save_path'] = NULL; $ config ['sess_match_ip'] = FALSE; $ config ['sess_time_to_update'] = 300; $ config ['sess_regenerate_destroy'] = FALSE; –