gpt4 book ai didi

mysql - 使用 session 通过 CodeIgniter 存储购物车

转载 作者:太空宇宙 更新时间:2023-11-03 12:32:34 24 4
gpt4 key购买 nike

我想做一个电子商务网站,不想强制用户有一个帐户来购买商品,他们想做什么就做什么。

我可以使用 CodeIgniter 中的 session 类来执行此操作,并能够将用户 session (即他们的购物车项目)保持较长时间(可能 6 个月或一年)吗?我阅读了关于 session 的 CI 用户指南,它说它通过在配置文件中将 session_expire_on_close 变量声明为 false 来让您选择将 session 设置为不过期,我猜即使在用户关闭后 session 也会继续运行浏览器。

每当用户访问该站点或将某些东西添加到他们的购物车时,我就可以开始 session 。然后,当他们离开并决定回来时,我可以从我的数据库中的 session 表中验证他们的购物车信息并将其返回给他们。

我还想知道是否应该将购物车项目存储在 ci_sessions 表中,该表在用户指南的 user_data 列中作为示例给出?这样就足够了吗?

只是想知道我是否正朝着正确的方向前进。谢谢

最佳答案

简短的回答:是的,您走在正确的道路上。

我会怎么做(其中一些可能是显而易见的):

  1. session 库添加到 config/autoload.php 以便它自动启动。

  2. 根据需要在 config/config.php 中设置“ session 变量”部分 - sess_expiration = some long time, sess_expire_on_close = false, use_database = true

  3. 为简单起见,仅在 session 中存储产品 ID。下面是一个基本的 add_to_cart 函数示例:

    public function add_to_cart($product_id) {

    // Whenever a user adds an item to their cart, pull out any they already have in there

    $cart_products = $this->session->userdata('cart_products');

    // Add the new item

    $cart_products[] = $product_id;

    // And put it back into the session

    $this->session->set_userdata('cart_products', $cart_products);

    }
  4. 使用 session 中的 product_ids 从您的数据库中提取更多详细信息(例如产品名称)并将其显示在屏幕上。

因为 CI 保留自己的 session_id,这种方法应该在用户每次重新访问您的站点时自动重新填充 session ,您永远不需要手动查询 ci_sessions 表或使用标准的 PHP session 。

以上内容未经测试,但希望对您有所帮助,如果有任何需要澄清的地方,请大声说出来。

关于mysql - 使用 session 通过 CodeIgniter 存储购物车,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14706484/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com