2014-06-24 56 views
0

我正在开发一个php项目,在该项目中,我提示用户选择他的城市并将其存储到cookie中,然后使用它来过滤结果。PHP - 无法从同一页面访问更改的cookie值

问题是,当我更改城市和更新cookie中的值从主页以外的页面,我无法从cookie中读取最新值(请注意,我使用jQuery cookie插件和是的,使用jquery刷新页面)。但是,当我从浏览器工具检查cookie值时,它显示最新值。

另外我注意到一件事情,当我导航到其他页面,我看到城市的变化,但刷新相同的页面没有帮助。

注:本项目产生的数据库使用PHP动态HTML页面和我读的PHP代码$ _COOKIE [“user_city”]

$('#storecity').submit(function(event){ 
     $frm = $(this); 
     var action = $frm.attr('action'); 
     $city = $frm.find('select[name=city]').val(); 
     $frm.find('*[type=submit]').attr('disabled', 'disabled'); 
     $frm.find('*[type=submit]').attr('value', 'loading...'); 
     var pageurl = $(location).attr('href'); 
     $.cookie('user_city', $city, { expires: 365, path: "/"}); 
     event.preventDefault(); 
     window.location.replace(pageurl); 
    }); 

注意饼干:我刚才注意到,在PHP工作正常只有页面,但不是在我上面提到的生成的HTML页面

更新:当我使用cookie插件检查$ .cookie('user_city')时,cookie值被更改,但不在php $ _COOKIE ['user_city' ]。

回答

0

直到下次加载该Cookie应该可见的页面时,Cookie才会变得可见。

这句话从Here

+0

来到我没有使用jQuery代码的页面刷新,请看看我的代码 – HusainItIs

+0

尝试通过location.reload(真),以取代window.location的;并测试cookie –

+0

输出没有变化。生成的html页面只会给我带来麻烦 – HusainItIs