Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 带有插入数据的codeigniter购物车问题_Php_Codeigniter_Session_Session Cookies_Shopping Cart - Fatal编程技术网

Php 带有插入数据的codeigniter购物车问题

Php 带有插入数据的codeigniter购物车问题,php,codeigniter,session,session-cookies,shopping-cart,Php,Codeigniter,Session,Session Cookies,Shopping Cart,我是新的代码点火器。这里我用购物车结账。当我在车上添加产品时,它为前三个产品工作,在添加任何产品后考虑为第四产品。如果任何产品在三个产品之后添加到购物车中,它将替换现有的第四个产品。但是购物车上只显示前三个产品,第四个不显示,而且我不能在购物车上添加超过四个产品,我正在使用jqueryajax进行购物车更新 jquery ajax代码 $('.addcart').click(function(){ var proid=$(this).attr('id');

我是新的代码点火器。这里我用购物车结账。当我在车上添加产品时,它为前三个产品工作,在添加任何产品后考虑为第四产品。如果任何产品在三个产品之后添加到购物车中,它将替换现有的第四个产品。但是购物车上只显示前三个产品,第四个不显示,而且我不能在购物车上添加超过四个产品,我正在使用jqueryajax进行购物车更新

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);

我不知道产品车为什么不更新后插入三个产品。给我一个关于这个问题的指导。感谢您,请尝试在application/config/config.php中禁用csrf保护

$config['csrf_protection']  = FALSE;
然后,如果ajax调用开始工作,请再次启用它,并将ci_csrf_令牌变量添加到ajax调用。

请设置

$config['sess\u use\u database']=FALSE

to
$config['sess\u use\u database']=TRUE
config.php

现在,您的产品详细信息保存在cookie中,最大限制为4kb
通过启用
$config['sess\u use\u database']=TRUE

此功能允许您在数据库表中插入信息,即:

$config['sess_table_name']='ci_sessions'

希望这对你有用

如果您没有
ci\u 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;

在问题中显示
config.php
会话
设置在ci_会话中,我必须为购物车创建哪些列名??无需创建任何列。只需将表创建为空结构??我有一个错误,因为我的数据库中没有这样的表名,它给出了一些error@tamil_arvu您的数据库中是否有
ci_会话
表?没有,我的数据库中没有ci_会话表
 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;