PHP:会话变量被覆盖

时间:2013-08-12 07:43:20

标签: php yii session-variables

我正在创建一个电子商务应用程序,通过使用该应用程序,用户可以创建自己的电子商务商店,如bigcommerce。所以我在每个商店使用$_SESSION['store_id']并在整个应用程序中使用该变量来控制商店。

现在,问题是用户无法在单个浏览器上访问多个商店,因为$_SESSION['store_id']正在被覆盖。 我知道PHP会话变量就像任何其他数组一样,所以如果键是相同的,那么它将覆盖相应键的值。但是,我怎么能解决这个问题呢? 我应该创建动态PHP会话变量吗?

为了您的信息,我的应用程序几乎完成使用Yii框架,因此很难硬编码。

3 个答案:

答案 0 :(得分:1)

您可以尝试按键存储商店

$_SESSION['stores'] = array(
   'store_id' => 'session data'
);

答案 1 :(得分:0)

您可以按以下方式使用会话中的商店列表

         session_start()
          if( ! isset( $_SESSION['list_of_store']))
               {
             $_SESSION['list_of_store']=array('0'=>$store_id)
               }
          else
            {
             $stores=$_SESSION['list_of_store'];
             $stores[]=$store_id;
            $_SESSION['list_of_store']=$stores;

             }

答案 2 :(得分:0)

您可以尝试实施某种“钥匙串”按钮,其中包括特定人员所管理的所有商店。 如果想要管理另一家商店,他/她可以点击钥匙串按钮并选择要管理的商店。