CodeIgniter“添加到购物车”不会在名称具有特殊字符的购物车数组中插入数据

时间:2018-07-03 08:38:45

标签: php codeigniter

我正在尝试将添加到购物车中的CodeIgniter。现在的问题是,每当我尝试将数据添加到购物车时,它只会插入其名称在数据库字段中没有特殊字符的数据,而忽略那些其名称在数据库字段中具有特殊字符的数据。例如,如果来自数据库的产品名称是Jeans&Top,它将忽略它,而如果它是Jeans Top,它将接受。我尝试在数据库中使用&而不是&,但存在相同的问题。我是否需要将其转出控制器中的某个位置?如果是,怎么办?我是CI的新手。请帮助我。

控制器:

public function add() {
    $id = $this->input->post('id');
    $product = $this->products_model->get($id);

    $data = array(
      'id' => $id,
      'name' => $product->pro_name,
      'qty' => 1,
      'price' => $product->pro_price,
    );
    // echo "<pre>";
    // print_r($data);

    if($this->cart->insert($data) == TRUE) {
      redirect('cart/show');
    } else {
      die('ERROR ADDING CART');
    }
  }

型号:

public function get($id) {
    $results = $this->db->get_where('products', array('pro_id' => $id));
    return $results->row();
  }

2 个答案:

答案 0 :(得分:0)

打开您的new ListView( reverse: true, //this line reverse the list controller: _listViewScrollController, children: <Widget>[ // ... new Padding( padding: const EdgeInsets.symmetric(horizontal: 16.0), child: new GestureDetector( onTap: () { SchedulerBinding.instance.addPostFrameCallback((_) { _listViewScrollController.jumpTo( _listViewScrollController.position.maxScrollExtent); }); }, child: new TextFormField( obscureText: true, decoration: new InputDecoration(labelText: "Password")), ), ), ].reversed.toList(), // reverse it backword(Iterable) and convert it to ListView ), 文件。查找Cart.php

替换

var $product_name_rules
var $product_name_rules = '\.\:\-_ a-z0-9';

您可以从system / libraries / Cart.php中找到Cart.php

答案 1 :(得分:0)

system/libraries/Cart.php

$product_name_safe = TRUE;

替换

$product_name_safe = FALSE;