【发布时间】:2013-04-28 15:15:43
【问题描述】:
我对 CodeIgniter 的购物车类有一个非常奇怪的行为。我已经在我的数据库中设置了 ci_session 表,并且已经将 sess_use_database 更改为 TRUE。
发生的情况是,当我将商品添加到购物车时,一切都很好:我看到我的商品总数计数器上升了,一切正常。当我第一次去我的购物车页面时,我在那里看到了我所有的物品,它们应该在哪里。我还提供了删除项目按钮和一个空购物车按钮。奇怪的事情发生在这里:当我点击删除一个项目时,页面刷新(由于我认为重定向)但该项目仍然存在!然后,如果我手动刷新购物车的页面,我会看到我删除的同一个项目消失了。就像,当我使用重定向时,我得到了页面的缓存,而不是带有新信息的实际页面。
不管怎样,这里有一些链接:
尝试从此页面添加一些项目: http://www.pantanishoes.it/Niko/index.php/store/linea/urban 单击每个项目描述底部的黑色大按钮。
然后尝试转到顶部菜单上的 Carrello 并尝试删除一些项目或 Svuota(它执行简单的 destroy()),看看会发生什么!任何帮助将不胜感激!感谢您的建议!
这是购物车的一些代码。
function add() {
$item = $this->store_model->get_item($this->input->post('id'));
$data = array(
'id' => $this->input->post('id'),
'name' => $item->modello,
'qty' => $this->input->post('qty'),
'price' => $item->prezzo,
'options' => array(
'taglia' => $this->input->post('taglia'),
'linea' => $item->linea,
'modello' => $item->modello,
'foto' => $item->foto1
)
);
$this->cart->insert($data);
$linea = str_replace(' ', '-', $item->linea);
redirect('/store/linea/' . $linea . '/', 'location');
}
function remove() {
$rowid = $this->uri->segment(3);
$data = array(
'rowid' => $rowid,
'qty' => 0
);
$this->cart->update($data);
redirect('cart');
}
function destroy() {
$this->cart->destroy();
redirect('cart');
}
在本地主机上一切正常!当我将网站加载到服务器时,它开始出现此问题。真的真的很奇怪!是否有一些我缺少的配置?
Chrome 说: 请求网址:http://www.pantanishoes.it/Niko/index.php/cart/remove/fb1b4a9869de6f24aa620e2307192d93 请求方法:GET 状态码:302 已临时移动(来自缓存)
【问题讨论】:
-
您使用的是codeigniter缓存还是某种缓存方法?因为如果我在浏览器上禁用缓存它会起作用,如果启用缓存它会返回与您描述的相同的页面。所以 prova a vedere se stai cachando (non "cacando") qualcosa :D
标签: php codeigniter caching redirect shopping-cart