2011-07-05 55 views
0

我正在使用会话变量来存储不同的信息。我使用JavaScript重定向的会话变量似乎失去了它们的价值。发生这种情况非常inconsistanly特别是具有在Chrome中(其他浏览器都很好!)会话变量丢失值

window.location = "../submitOrder.php?custid="+custid; 

(在真实代码,我把整个URL)

然后从submitOrder我的会话变量都是空白的开始..

这可能是什么原因造成的?它是否与重定向有关?

我不介意添加必要的更多细节,但问题是一个简单但令人困惑的问题。

谢谢!

+0

你如何传播你的会话ID?饼干?如果是,请检查新的URL是否与Cookie的路径和域限制匹配。 – tdammers

+0

谢谢。我有点儿是初学者,你能解释一下吗?该网址是同一网站中的另一个网页。我该如何检查。我在我的页面 – Nina

+0

上使用了session_start(),这真的只发生在Chrome中,这是我第一次进入该网站。铬的行为与Cookie有何不同? – Nina

回答

0

尽管我并不特别了解Chromes关于Javascript重定向和cookie处理的行为,但您的问题表明,当您通过Chrome中的Javascript重定向用户时,会话Cookie无法正确传递到serven。 这是否真的是你可以做的会话ID您的重定向的一部分的情况下,即:

window.location = "../submitOrder.php?custid="+custid+"&PHPSESSID="+<?php echo session_id(); ?>; 

但是我认为这是不可能的,这样的问题在Chrome存在,你可能在你的代码中的错误(也许你忘了使用start_session()函数?)

+0

刚刚尝试了你的建议,它给了我一个错误 – Nina

+0

什么样的错误?PHP?Javascript?Chrome?有什么错误信息? – tdammers

+0

感谢您的帮助:)转弯这是一个糟糕的重定向,搞乱了会议。我改变了重定向为相对的,然后使用www。或没有。 – Nina