我会尽我所能解释的。我一直在努力解决这个问题,我只是不知道出了什么问题。
首先,我打开了一个简单的“对话框”,这是我通过一个函数创建的。现在我们把它叫做openDialog吧。在我的子域中,我用这个函数打开寄存器对话框,这个函数使用ajax读取寄存器对话框内容。有了这一点,我可以简单地注册,没有任何问题。
注册程序正在我的主服务器(example.com)和论坛的子域上工作。(forum.example.com)
登录也是一样的。我在ajax和其他方面有查询。问题是:在主站点(example.com)中,登录名正在设置cookie。但是,在子域(forum.example.com)中,ajax对mysql执行相同的查询(最后登录日期等),但是setcookie不起作用。
我使用的是chrome,我看到在Network选项卡(Developer模式)中,我确实看到ajax响应创建了cookie,但是cookie不是真正创建的。
这是setcookie:
setcookie("mycoockiename", 'myvalue', time() + 60 * 60 * 24 * 365, '/', '.example.com');当我进入模式(按F12),然后转到Network > ajax请求,在Header选项卡中,我可以看到:
Set-Cookie:mycoockiename=myvalue; expires=Sun, 18-Jan-2015 21:05:20 GMT; path=/; domain=.example.com太好了,这意味着我已经成功地创建了这个cookie,对吧?嗯,不是。它并不是真正创造出来的。
你们知道这一点很重要。它只发生在子域中(forum.exapmle.com),在(example.com)中,一切都工作得很完美。在(forum.example.com)中,除了setcookie之外,一切都正常工作。
还请注意,当我通过主站点(example.com)创建这个cookie时,我还可以在(forum.example.com)中看到这个cookie
知道为什么吗?
发布于 2014-01-20 18:09:00
修正了,我刚刚用javascript创建了丢失的cookie。
https://stackoverflow.com/questions/21209933
复制相似问题