0

我在本地主机中开发了 2 个购物车应用程序。比如说 sc1 和 sc2。我在一个特定浏览器的两个不同选项卡中打开了这两个站点。

我在购物车 1 中添加了 3 项 sc1。但是当我尝试在购物车 2 中添加任何 sc2 项目时,它会将该项目与 sc1 的购物车 1 中的那些项目一起提供。

我在两个应用程序的 index.php 中启动了 session(session_start();)。如何解决这个问题。我知道使用 session.cookie_path 会解决。我试过但它没有解决我的问题。是否有任何额外的步骤要遵循或任何额外的功能要包含?

4

3 回答 3

1

打电话session_name("application name")之前session_start()。这将设置用于标识会话的 cookie 的名称(默认为“PHPSESSID”)。

为每个应用程序使用不同的名称。

于 2013-03-05T10:22:44.083 回答
0

在新会话中打开浏览器?对于 IE => Alt 键、文件、新会话....

但是,对于您的应用程序,您最好检查 session_id...当 session_id 正确时,您可以将商品添加到购物车,否则离开。

于 2013-03-05T10:22:12.097 回答
0

您在两个安装中使用相同的会话名称。每次安装更改会话名称就可以了。

例如,如果您在两者上都有一个名为 cart 的会话,那么您添加到 sc1 的任何内容都将出现在 sc2 中,但该项目将有所不同,因为存储在会话中的项目 ID 将匹配不同数据库中的不同 ID。这正是您所看到的。

最好的解决方案是在数据库设置表中存储一个会话名称,然后使用它在每个站点的基础上命名会话,然后它允许您在每个站点的基础上对其进行自定义。或者您可以在 config.s 中使用定义

于 2013-03-05T10:22:47.107 回答