本帖最后由 xlrtx 于 2013-03-11 20:23:40 编辑

解决方案 »

  1.   

    一般网站的购物车,是通过保存session或者cookie的。
    因为这样性能稍微好一点。
      

  2.   


    要求注册的用户需要能够访问上次登录时的购物车..没有注册的用户是写到session里面的
      

  3.   

    1、将 session 从默认的文件方式改换成数据库方式
    2、直接操纵 $_SESSION,无需 json
    3、为满足“注册的用户需要能够访问上次登录时的购物车”可在 session 表中增加一个用户名(用户id)字段,并适当调整 session 回调函数于是:
    如果考虑用数据库保存未结账信息,则 session 表已经做了。不必再做
    如果考虑用文件保存未结账信息,则因为访问量巨大,多层目录文件管理困难;单层太慢。非万不得已,不与采纳
      

  4.   

    感觉这样的方法很麻烦啊
    如果用session的话,用户A登录网站并且保存了物品到session1
    之后用户A换了浏览器,登录网站,新建了session2,但是session2里面没有session1里的内容
    是不是需要在user表里面价格sessionid?每次登录需要重新设置sessionN到session1?
    如果这样的话session是要设置成永远不过期的.
    如果有人获得了用户的帐号密码,就知道了他的session,如果改密码是不是也需要重置session啊..这样就更麻烦了
    因为注册用户的cart信息不能丢失所以session不能过期
    但是匿名访客的session就需要在一定时间后清除,这个怎么做判断啊..
      

  5.   

    Json是想和ajax一起做动态购物车的..做一个小型的网站一共就7到8个页面.就是想了解下,遇到了这问题的常规解决方案是什么额
      

  6.   

    感觉session不适合保存注册用户的信息..这样很不安全啊
      

  7.   


    再添加一个物品进购物车前,用户需要选择物品的配置,如果他中途花时间考虑,session过期
    他就需要重新添加物品进购物车,这时候他发现购物车里的东西没了,他是否会去考虑去另外一家网店?
    第二点你没理解清楚,我的意思是:
    在需要将购物车(session)永久保存的情况下,如果某人在公共地方登录没有登出,其他人拿到session就可以永久登录了,即使改变了密码也没有用,有了用户的权限,获得的信息就多了去了。。还有你给的问题太离谱了。。不是说技术层面能解决的就必须用技术解决啊
    一个帐号就是为了给一个人提供服务,
    要是给多人用的话,要帐号还有什么意义。。
      

  8.   

    1.给客户保存购物车的选择,这时才使用数据库——很多网站都这样做了,是你没去了解学习同行的做法,客户没保存要重选就自己负责,保持连续浏览session/cookies是还在的,他挂十几个小时没操作cookies时效还在就行。我常用firefox,挑了商品换ie上网银,或者隔天再买,中间就用保存购物车的操作
    2.客户不认真对待自己的隐私是他的问题,我最鄙视网购不撕掉订单随便就把包裹扔掉的人,网站给出必要的警示和用户协议就足够了。另外你似乎对cookies了解还不够,一般数据完全可以和登录信息分离,登录后重新拼接加载一般信息就行了
    3.我给你的难题实际上目的不是要你用技术解决(其实也可以解决,自己有空时再想想),而是提醒你有很多会实际发生的情况,你不能100%从技术层面解决,就算你解决了这个(帐号共用是常有的事,俺家就这样,老妈不懂注册,用我的帐号下单然后我去给钱的),还有更多难题我可以提给你;所以必须从业务层面去规范一些流程,让事情简单化。去跟业务部商量吧,平衡客户体验也不至于总被问题牵着走才是解决问题的方法
      

  9.   

    让楼上几位一说的确是感觉我有点钻牛角尖。。
    之前一直在写c程序,不喜欢浪费内存。。学校第一次让我们做这项目,php也刚学不到一星期。。因为我不清楚数据库储存原理。所以就是想请教下如果把购物车信息放到数据库,每个信息给一定的长度,每个用户都会有购物车信息(但是有的长有的短)
    这样会不会浪费空间?储存到文件里的话是肯定不会浪费空间的,但是用vchar来储存会不会浪费空间?
      

  10.   

    说了半天原来只是做作业 数据库耗费那是另一个问题存储空间不重要,又不是全部用SSD,但信息量/流量却重要对BS系统来说,单个问题的耗费是小儿科,但BS考虑的就是成千上万个并发连接耗费,所以最重要是做到必要时才做更重要,就是客户不看商品的时候,只需加载商品名称让他知道是什么就够了,等他要看商品的具体信息才去读取数据库该商品的信息数据库方面知识等其他大神指导,我的弱项
      

  11.   

    恩..工业项目课..老师随便找了几个客户,然后吧客户的项目给我们做..但是做的还是一个真正的网站,做好之后要用的还要包括documentation, 用户手册, 演讲等等等..没有薪水..我们还要交钱..客户也要交钱..OTZ
      

  12.   

    好多大牛。我也要做类似的网站。了以后看。还在学习《PHP和MySQL Web开发》这本书,看了一半了。