2013-06-20 212 views
0

我是新的代碼點火器。在這裏,我正在使用購物車進行產品結帳。當我將產品添加到購物車時,它將爲前三種產品工作,在添加任何產品後將其視爲第四種產品。如果任何產品在三種產品後添加到購物車中,它將取代現有的第四種產品。但對車只有前三個產品展示,以及第四個不顯示,也是我不能上車添加四個以上的產品,我使用的購物車更新codeigniter插入問題與插入數據

jQuery的Ajax代碼

$('.addcart').click(function(){ 
    var proid=$(this).attr('id');   
    $.post('<?php echo base_url()?>productajax',{typ:'addtocart',proid:proid},function(data){   

    }) 
    return false; 
}) 

product add to cart code 



$proid=$this->input->post('proid'); 
        $this->db->where('pro_id',$proid); 
        $data=$this->db->get('product')->result(); 
        foreach ($data as $pro) 
        { 
         $proname=$pro->pro_name; 
         $price=$pro->s1price; 

         $proimg=$pro->image_name; 
         $nwt=$pro->case_netweight; 
         $gwt=$pro->case_grossweight; 
         $cbm=$pro->cbm; 
        } 

        $propriceinr =round($price + round(($price * $this->session->userdata('user_margin'))/100,2));   

        $dat = array(
        'id'  => $proid, 
        'qty'  => 1, 
        'price' => $propriceinr, 
        'name' => $proname, 
        'options' => array('cbm' => $cbm, 'nwt' => $nwt,'gwt'=>$gwt,'image' => $proimg ,'price'=>$price,) 
       );    
        $this->cart->insert($dat); 

配置的jQuery AJAX .php

$config['sess_cookie_name']  = 'ci_session'; 
$config['sess_expiration']  = 7200; 
$config['sess_expire_on_close'] = FALSE; 
$config['sess_encrypt_cookie'] = FALSE; 
$config['sess_use_database'] = FALSE; 
$config['sess_table_name']  = 'ci_sessions'; 
$config['sess_match_ip']  = FALSE; 
$config['sess_match_useragent'] = TRUE; 
$config['sess_time_to_update'] = 300; 

$config['csrf_protection'] = FALSE; 
$config['csrf_token_name'] = 'csrf_test_name'; 
$config['csrf_cookie_name'] = 'csrf_cookie_name'; 
$config['csrf_expire'] = 7200; 

我不知道產品購物車爲什麼不更新後插入三個產品。給我這個問題的任何人的指導。感謝提前

+0

顯示在您的ci_sessions問題 –

回答

2

請您config.php設置

$config['sess_use_database'] = FALSE;

$config['sess_use_database'] = TRUE;

現在您的產品詳細信息正在保存在曲奇其最大限制爲4kb
通過啓用$config['sess_use_database'] = TRUE;

此功能可讓您將您的信息在數據庫中的表即:

$config['sess_table_name'] = 'ci_sessions';

希望,如果你沒有在這裏ci_sessions表,會爲你

工作是該查詢:

CREATE TABLE `ci_sessions` (
`session_id` varchar(40) NOT NULL DEFAULT '0', 
`ip_address` varchar(16) NOT NULL DEFAULT '0', 
`user_agent` varchar(50) NOT NULL, 
`last_activity` int(10) unsigned NOT NULL DEFAULT '0', 
`user_data` text NOT NULL, 
PRIMARY KEY (`session_id`) 
) ENGINE=MyISAM DEFAULT CHARSET=latin1; 
+0

了''config.php'設置session'什麼是我必須爲購物車創建的列名? –

+0

無需創建任何列。 –

+0

只是創建表爲空結構?我有一個錯誤,因爲我沒有這樣的表名在我的分貝它給了一些錯誤 –

0

嘗試禁用應用CSRF保護/配置/ config.php文件

$config['csrf_protection'] = FALSE; 

然後,如果Ajax調用開始工作,重新啓用和ci_csrf_token變量添加到Ajax調用。