首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  程序员

PHP 一枚,请教关于 session 相关的问题!!

  •  
  •   DamonLin · 301 天前 · 630 次点击
    这是一个创建于 301 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近遇到了一个 bug,同个客户最新的订单号会替换成之前已成功的订单号,一直在查找这个 bug,从业务逻辑语句,C 层,M 层,查了个遍,感觉都没有什么问题。结款页面的逻辑是这样的:用户点了购物车,然后进入结款,数据库插入最新的 order_id,根据 order 订单状态来判断该笔订单是否结账,客户付款成功,再来更新绑定 customer_id,这个 order_id 会保存为 session,通过 cookies 发送到客户端,重新刷新该结账页面,客户端通过 cookies 上面的 PHPSESSID,找到 session 里面的 order_id。所以想请教一下会不会可能是 session 更新的问题呢?会不会在结账的时候读取了上一笔订单的 session ?

        1
    DamonLin   301 天前
    1024 快乐啊
        2
    markgor   301 天前
    第一,所谓的 bug 其实都是因为没有按照设计者的理想逻辑去执行而导致的。
    第二,究竟是通过 cookies 来存了 order_id 还是你只是存了去 session,然后说了遍 session 的实现流程。

    其实最好的方法还是放代码出来,或者抓重点问。
    另外 session 不会存在不及时更新的问题,PHP 运行的时候 session 是在内存里的,然后 PHP 结束后默认会写入 tmp 里面,当你再次运行 session_start 时候会从这个 tmp 文件夹里读取回之前写入的 session。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1214 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 19ms · UTC 23:26 · PVG 07:26 · LAX 16:26 · JFK 19:26
    ♥ Do have faith in what you're doing.