我想了3种办法  1. cookies + 数据库 买家把商品放入购物车的时候: 生成一个数组  里面有订单号+商品的ID  然后把数组存到cookies  ,
当买家付款的时候 :把cookies 的数组取出来  按照商品ID从数据库取出价格 结算总价 提交到支付宝接口 。
当支付宝接口返回数据付款成功时: 把COOKies 数据取出 and 支付宝返回信息 and 数据库信息核对 无误  然后把订单信息存入数据库 。这个方法我就有个疑虑   一个是COOKies 安全问题 和客户端支持的方面 还有一个是  (COOKies 数据取出 and 支付宝返回信息 and 数据库信息核对) 这一步如果稍有差错可能会出现掉单吧? 2._SESSION+数据库  
大体和第一个方法 一样  只不过订单信息时保存在 SESSION  但是即使是用户推出了 SESSION  文件也不会被删除的
 这样的话吧 我怕日久天长 SESSION   文件会不会越攒越多啊 3.直接用数据库 
自从买家把商品放入购物车的那一刻 就生成一个订单号 放在数据库里    这样到是没有前面那些问题  
只不过买家还没付款的时候 就存在数据库    对数据库读写太频繁了吧
我现在真是太头疼了    有经验的哥哥给指点指点好吗

解决方案 »

  1.   

    _SESSION+数据库  _SESSION会被系统定期清除的
    不要担心---------------------------------
    40多K PHP实现 ORM 数据库类http://topic.csdn.net/u/20100226/12/43bf3dc5-795f-4fa5-861a-2f7bf8fd0cd6.html
      

  2.   

     SESSION系统会自动清除, 可以放心使用,  但多服务器时,  php自带的SESSION不好用
      

  3.   

    SESSION+数据库 
    SESSION会定时清除的
      

  4.   

    回上楼, 或者说多个空间共用一个session, 这时就要把session存数据库了
      

  5.   

    以前的应用是用cookie的 不过我偏向session的 安全一些,session可以手动清除或者设置失效日期,这样就不必担心会有过多的session在服务器上了。
      

  6.   

    你的意思是 可能会冲突吗?  
    这是百度贴吧上找的    { 
    一个Session的概念需要包括特定的客户端,特定的服务器端以及不中断的操作时间。A用户和C服务器建立连接时所处的Session同B用户和C服务器中建立连接时所处的Sessions是两个不同的Session。 
    }
      

  7.   

    LZ水平飞速提升啊~
    去看看discuz的session 原理,或许有“大悟”
      

  8.   

    3种方法都可以用,我更倾向于session和数据库(对登录用户,可以在下次登录时继续上次的购物)==========================================================
    欢迎加入以google wave为交流工具的PHP及web开发讨论组: [email protected] 加入办法:1。 从你的gmail可以直接发信到 [email protected] 2。 PM你的邮箱给我,我直接加入 3。 到http://groups.google.com/group/phpwave/subscribe?note=1申请   如果该网址不能访问请尝试 https://groups.google.com/group/phpwave/subscribe?note=1       或 http://groups.google.co.uk/group/phpwave/subscribe?note=1 ...(或换其它国家域名) 
      

  9.   


    google wave    我可以进那个WEB开发组吗
      

  10.   

    [/Quote]
     google wave    我可以进那个WEB开发组吗
    [/Quote]当然可以,欢迎
      

  11.   

    国外几个有名的购物车系统:
    oscommerce/zencart 
    支付之前session,支付之后数据库生成订单,清空购物车信息
    登陆后的购物车是保存在数据库中的,下次登陆直接读取购物车信息
    但,session最好数据库方式存sessionmagento
    session,数据库生成订单,支付,更新支付状态