1

我发生了一件奇怪的事情。如果我转到我网站的主登录页面,然后单击并将产品添加到购物车,则会保存一个名为“cartID”的 PHP 会话变量。这样,客户可以继续将商品添加到他们的购物车,而不会丢失他们的购物车商品。

如果我绕过主登录页面并直接进入产品页面(例如通过书签或谷歌搜索),然后将该项目添加到购物车中,尽管会话变量“cartID”已创建,但一旦客户离开购物车页面, 'cartID' 变量丢失了......这会清空他们的购物车。

将商品添加到购物车的两种方法都使用 .htaccess 中的 rewriteRule:

RewriteRule ^g(. )c(. )s(. )ss(. )p(. )/(. ).htm$ onlineOrder.php?grpid=$1&catSel=$2&subCat1ID=$3&subCat2ID=$4&prodSel=$5&$6 [质量保证协会]

效果很好,但是如果客户没有先进入主登录页面,则在将商品添加到购物车后创建的“cartID”会话变量将在离开购物车页面时丢失。即使产品页面的两个链接完全相同。

如果直接进入产品页面,为什么它不起作用的任何想法?

4

1 回答 1

1

最可能的情况是您的一个或多个页面可能在session_start();被调用之前发送输出。

确保在初始之前没有行、空格或其他任何内容,并且在调用之前<?php没有输出任何内容(这包括行,因为它们会产生输出)。基本上,启动会话应该是您的脚本所做的第一件事,如果不是第一件事。 session_start();header();

于 2012-10-23T06:21:11.947 回答