Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Magento 1.5.0.1当用户在结账时登录时,购物车中的项目将消失_Magento - Fatal编程技术网

Magento 1.5.0.1当用户在结账时登录时,购物车中的项目将消失

Magento 1.5.0.1当用户在结账时登录时,购物车中的项目将消失,magento,Magento,下面是正在发生的事情的一步一步的快速介绍 用户将产品添加到他们的购物篮/购物车中,然后进行结帐。他们可以选择注册、以来宾身份结账或使用现有帐户登录 客户使用现有帐户登录 他们被带到一个页面,告知他们的购物车现在是空的。但在右上角,我的购物车的链接旁边仍然显示(1项)。单击此链接仅加载相同的“购物车为空”页面 我做的其他一些测试显示了以下几点: 用户登录,向购物车添加3个项目,但在结帐前注销。 稍后,他回到该网站,开始新的订单,只订购一种产品,选择在结账时登录。 在这样做时,他的购物车会显示他上一

下面是正在发生的事情的一步一步的快速介绍

  • 用户将产品添加到他们的购物篮/购物车中,然后进行结帐。他们可以选择注册、以来宾身份结账或使用现有帐户登录
  • 客户使用现有帐户登录
  • 他们被带到一个页面,告知他们的购物车现在是空的。但在右上角,我的购物车的链接旁边仍然显示(1项)。单击此链接仅加载相同的“购物车为空”页面 我做的其他一些测试显示了以下几点: 用户登录,向购物车添加3个项目,但在结帐前注销。 稍后,他回到该网站,开始新的订单,只订购一种产品,选择在结账时登录。 在这样做时,他的购物车会显示他上一个会话中的3个项目(他的新产品丢失),但“我的购物车”链接旁边会显示(4个项目)


    有人知道在从未登录到登录的过渡过程中,购物车中的物品消失的原因吗?

    我以前在运行suhosin修补程序的uhosin.session.Encrypt服务器上见过这个问题。我假设您正在运行一个安全的购物车(如果不应该的话),这里最可能发生的情况是,每次在http和https之间切换时,您的会话都会丢失

    在HTTP和HTTPS之间切换时,HTTP会话不会传递给HTTPS会话。可以通过将以下内容放在.htaccess或php.ini文件中来解决此问题:

    php_value suhosin.session.encrypt Off
    
    让我知道它是否有效,或者如果您仍然有相同的问题,请记住在进行更改后重新启动服务器。

    我解决了它
    事实证明,ZetaPrints OrderApproval模块已安装并覆盖了部分签出页面
    很明显,它是被添加的东西,决定不再需要它,然后被遗忘了
    我禁用了它,刷新了缓存,取回了旧的签出页面

    一切都恢复正常了

    对我来说,这是Cooke会话控制和设置“Cookie域”值的问题:

    .mydomain.com


    是的,前面有一个句号。

    你好,谢谢-我认为你所说的在http和https之间切换听起来是对的。但是,我在htaccess中添加了这一行,重新启动了服务,我仍然遇到同样的问题。我已经确保在System>Config中设置了http和https的基本url。我想知道是否还有什么可以检查的。是的,根据您的服务器设置,确保更改实际生效。htaccess可能不够。同时尝试禁用suhosin.session.cryptdocroot=Off。为了检查设置是否打开或关闭,请在根目录上创建info.php脚本。结果表明,此站点没有https。我以前没有学过这个,因为这是一个我从另一个开发者那里继承的几乎完成的站点。理由似乎是actaul支付过程将在安全的paypal页面上远程进行。奇怪的是,所有的基本URL都设置为http(而不是https)-我仍然遇到这个问题。