Php jquery移动旧值而不是新值
我正在通过链接发送一个变量:Php jquery移动旧值而不是新值,php,jquery,jquery-mobile,Php,Jquery,Jquery Mobile,我正在通过链接发送一个变量: <a href="foo.php?var=101"> php </a> <a href="foo.php?var=102"> html </a> <a href="foo.php?var=102"> css </a> 现在的问题是:假设我在index.php上点击链接php,我在foo.php上什么也得不到,如果我回去点击html我会得到php,这很不寻常,如果我回去点击css,我会得到htm
<a href="foo.php?var=101"> php </a>
<a href="foo.php?var=102"> html </a>
<a href="foo.php?var=102"> css </a>
现在的问题是:假设我在index.php
上点击链接php
,我在foo.php
上什么也得不到,如果我回去点击html
我会得到php
,这很不寻常,如果我回去点击css
,我会得到html
我所有的JS文件都在
index.php
的标题下,为什么我会得到旧的值?问题在于setcookie()没有立即设置cookies,它发送标题以便浏览器设置cookies。这意味着,对于当前页面加载,setcookie()将不会生成任何$\u COOKIE
当浏览器稍后请求一个页面时,它会发送标题中的COOKIE,以便PHP可以以$_COOKIE的形式检索它们。你的问题是什么?@MohitJain,我认为这很明显,但我编辑了它,并在问题的末尾为你添加了几个词:)我知道JQM不会每次都加载标题,但有办法绕过它吗?我真的想将其设置为cookie并加载,因为页面上的某些操作取决于它。当您创建cookie时,您可以将cookie数据保存在变量中,并可以使用该变量,如$data=“bar”;setcookie($data,“1”);回波数据;
<!-- this part is under data-role="page" !-->
if(isset($_GET['var'])){
switch($_GET['var']){
case "101":
setcookie("bar", "1");
break;
case "102":
setcookie("bar", "2");
break;
case "103":
setcookie("bar", "3");
break;
default:
setcookie("bar", "");
}
}
<!-- this part is under contents !-->
echo $_COOKIE['bar'];