2012-06-19 132 views
0

我想使用PHP会话来存储一个状态,通过查询字符串从一个引用网站传递1次。麻烦是本地我可以在会话范围内维护这个状态,但它在生产服务器上的工作方式不同。PHP会话不会持续

我试着在文件的脚做这在WordPress的WP-config.php文件:

session_set_cookie_params(0); 
session_start(); 

开始,随着浏览器过期的会话。 然后检查查询字符串PARAM &设置:

if (!isset($_SESSION['isEUStore']) && isset($_GET['store']) && strtolower($_GET['store'])=='eu') $_SESSION['isEUStore']=true; 
elseif (!isset($_SESSION['isUSStore']) && isset($_GET['store']) && strtolower($_GET['store'])=='us') $_SESSION['isUSStore']=true; 

然而,$ _SESSION [ 'isEUStore']或$ _SESSION [ 'isUSStore']站点中的任何其他的WordPress页面上返回NULL。

有什么建议吗?一些配置设置可能不同?

感谢,

回答

0

我没有与会议解决这一问题被遗忘,但我发现用饼干代替工作。如:

if (!empty($_GET['store']) && strtolower($_GET['store'])=='eu') { 
    setcookie('isEUStore', true, 0, '/', $faco_domain); 
    setcookie('isUSStore', true, time()-3600, '/', $faco_domain); 
} elseif (!empty($_GET['store']) && strtolower($_GET['store'])=='us') { 
    setcookie('isUSStore', true, 0, '/', $faco_domain); 
    setcookie('isEUStore', true, time()-3600, '/', $faco_domain); 
} 

Cookie不会在Wordpress页面之间被遗忘,而会在浏览会话结束时过期。