Php MySIte立即注销第二个请求

Php MySIte立即注销第二个请求,php,session,cookies,session-variables,session-cookies,Php,Session,Cookies,Session Variables,Session Cookies,我是php新手。我面临着会议的问题。我的意思是,当我登录并点击网站上的任何链接后,它会立即被注销。不知道为什么 在chrome控制台中:我输入了:document.cookie,它显示了我的“”,然后我了解到cookie以某种方式立即被删除或出现其他问题 以下两个网站存在此问题 我们有这样的网站: www.mysite.site1.com/folder1 www.mysite.site2.com/folder2 下面是我的MySite.com/folder1代码 function MyS

我是php新手。我面临着会议的问题。我的意思是,当我登录并点击网站上的任何链接后,它会立即被注销。不知道为什么

在chrome控制台中:我输入了:document.cookie,它显示了我的“”,然后我了解到cookie以某种方式立即被删除或出现其他问题

以下两个网站存在此问题

我们有这样的网站:

www.mysite.site1.com/folder1
www.mysite.site2.com/folder2
下面是我的MySite.com/folder1代码

   function MySession() {
      $params = session_get_cookie_params();
      session_set_cookie_params($params['lifetime'], '/v/folder1');
      session_start();
   }

   function clear()
   {
      $_SESSION=array();
      session_destroy();
   }
 function MySession() {
      $params = session_get_cookie_params();
      session_set_cookie_params($params['lifetime'], '/v/folder2');
      session_start();
   }

   function clear()
   {
      $_SESSION=array();
      session_destroy();
   }
下面是我的MySite.com/folder2代码

   function MySession() {
      $params = session_get_cookie_params();
      session_set_cookie_params($params['lifetime'], '/v/folder1');
      session_start();
   }

   function clear()
   {
      $_SESSION=array();
      session_destroy();
   }
 function MySession() {
      $params = session_get_cookie_params();
      session_set_cookie_params($params['lifetime'], '/v/folder2');
      session_start();
   }

   function clear()
   {
      $_SESSION=array();
      session_destroy();
   }

在会话\u set\u cookie\u params()中为cookie设置域只会影响用于会话cookie的域

所以,要使您的所有cookie在站点的所有子域中都可用,您需要在根域上设置cookie

设置cookie有效的路径时,请始终记住尾随“/”

正确:

session_set_cookie_params (0, '/yourpath/');
不正确:

session_set_cookie_params (0, '/yourpath');

mysite.site1.com
是您的基本url

当您从
www.mysite.site1.com/folder1
www.mysite.site2.com/folder2


您肯定会注销。

好吧,我可以找到我的问题的答案:

因为在我的例子中,我有两个文件夹,即www.mysite.com/folder1和www.mysite.com/folder2,所以我们必须为“folder1”保留
session\u名称(“folder1”),为“folder2”保留
session\u名称(“folder2”)
,否则两个文件夹共享相同的会话ID,因此用户将自动登录到folder2(假设他已经得到loggedin folder1)


关于会话名称的更多信息,请点击此处:
http://stackoverflow.com/a/7551430/4956785

…通过设置会话cookie的路径,您可以限制它传输到的URL。@Orangepill路径值如何影响mysite?很抱歉,我没有这样做,您能告诉我在代码中需要更改什么吗?使用会话\u设置\u cookie \u参数s($params['lifety'],'/');如果要对folder1和folder2使用不同的会话,可以创建虚拟主机并进行设置。@PrashantSrivastav如果使用as:session\u set\u cookie\u params($params['lifety'],'/v/folder2',有什么问题对于chrome,进入浏览器检查Cookie中的元素资源Cookie,您会得到一个路径列和域,这对维护会话非常重要。为Cookie提供路径时,您正在设置Cookie的限制,该限制只能访问该文件夹。我刚刚编辑了上面的域名,以前输入的域名是错误的。这里有一个:www.mysite.site1.com/folder1现在请告诉我我真正需要更改的是什么…?我甚至像你说的那样尝试了“拖车”斜杠,但仍然不起作用…很抱歉这样问,我在哪里设置这个基本url?如何设置?如果我尝试使用session_name('folder1'),又如何;对于www.mysite.site1.com/folder1,以及其他文件夹的类似方式。使用codeigniter将为您处理所有这些事情。会话URL安全加密等。由于您不使用简单的解决方案
,仅为了1个问题,我可以认为不建议使用某些框架,尤其是对于已经存在的框架正在运行的项目。。