【问题标题】:Code Igniter - carts library random worksCodeigniter - 购物车库随机作品
【发布时间】:2011-01-25 12:05:17
【问题描述】:

我正在使用购物车库在我的网络书店中获取订单。但是当我在我的一本书上调用 addCart 函数时,它是有效的,但不是一直有效。请帮忙

还有我的模型函数:

function get_books_by_ID($id)
{
    $this->db->where('BOOK_ID', $id);

    $query =  $this->db->get('books');
    return $query;
    echo vardump($query);
} 

控制器:

function addCards($id=1)
{
    $query = $this->Kategorie_model->get_books_by_ID($id);
    if($query->num_rows() > 0)
    {
        $item = $query->row(); 
        $data = array(
            'id'      => $item->BOOK_ID,
            'qty'     => 1,
            'price'   => $item->BOOK_Price,
            'name'    => $item->BOOK_Title
        );
        $this->cart->insert($data);
    }
}

查看:

<tr>
<td class="color"><b>Cena: </b><?php echo $data->BOOK_Price;?>zł</td>
<td class="border" id="koszyk" ><?php echo anchor('ksiegarnia/addCards/'.$data->BOOK_ID, 'Koszyk'); ?></td>
</tr>

更新:

vardump 没有必要。我想使用 var_dump。但问题与使用购物车库向会话中添加项目有关。我有一家书店,当我调用addCarts 函数时,有时会将项目添加到购物车中,并且购物车函数 total() 和 total_items 会显示它,但有时当我调用函数时,什么都没有发生。物品未添加到购物车中。我现在不明白为什么这东西有一席之地。为什么购物车库随机运行?

【问题讨论】:

  • 请修正格式并解释问题(为什么它不起作用?有错误消息吗?)。
  • 您是否在构造中加载模型?类别模型
  • vardump 是你自己的函数吗?在 php 中存在 var_dump 并且您在 return 语句之后倾倒了一些东西
  • 请记住,cookie 只能存储 4k .. 如果您不保存到 db,您可能会超载会话 cookie。

标签: php codeigniter


【解决方案1】:

我刚刚遇到了这个问题,似乎在 codeigniter 购物车库中,插入函数会根据正则表达式检查产品 ID 和名称,只允许使用字母数字、破折号、下划线和句点

根据可能出现的情况调整正则表达式:

$this->cart->product_id_rules = '.a-z0-9_';

$this->cart->product_name_rules = '.\:-_ a-z0-9';

在我的情况下,它也会随机将东西添加到购物车中。如果您打开日志记录并检查,您将能够看到名称或 ID 可能包含无效字符

【讨论】:

    【解决方案2】:

    我和你一样,就像你说的,购物车是随机工作的, 当我添加另一个产品时,购物车中似乎只能包含 3 个产品,我添加的产品不会进入购物车..

    我太绝望了,我介意用第 3 方更改购物车库

    这是因为我没有设置会话保存到数据库,就像在教程(购物车和会话)中一样,购物车需要会话写入数据库才能工作。

    当我将会话写入数据库时​​,问题解决了

    你可以试试……

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-24
      相关资源
      最近更新 更多