首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用php撤消jquery cookie

问用php撤消jquery cookie
EN

Stack Overflow用户
提问于 2014-05-29 06:32:01
回答 1查看 1.3K关注 0票数 0

我做了

代码语言:javascript
复制
<?php 
echo "initial values in the cart: <pre>";print_r($_COOKIE);echo "</pre>"; 
  $_COOKIE['cart']=null;
  setcookie("cart", "", time()-3600);  
 unset($_COOKIE['cart']); 
 unset($_COOKIE); 

 ?>
 <script>
 alert( "before delete         " +$.cookie("cart") ); 
 </script>  

   <script>
      $.cookie("cart")="";
      $.cookie('cart', null);
      $.cookie('cart',null,{path:'/');
     $.cookie("cart")=null;
     $.cookie('cart', '', { expires: -150 });
     jQuery.cookie("cart", '',{expires: -1,path:'/'});
     $.cookie("cart")=undefined;
     delete $.cookie("cart");
     $.cookie("cart","",); 
     $.removeCookie('cart', { path: '/' });  
     $.removeCookie("cart"); 
     alert( "just delete         " +$.cookie("cart") );
 </script> 
 <script>
 if($.cookie('cart') === null || $.cookie('cart') === "")
{ 
      alert( " cookie deleted 1         " +$.cookie("cart") );
}

else
{
     //have cookie
     alert( "have cookie         " +$.cookie("cart") );
} 

if (typeof $.cookie('cart') === 'undefined'){
 //no cookie
 alert( " cookie deleted 2        " +$.cookie("cart") );
}
 // if($.cookie('cart') === null || $.cookie('cart') === "" 
    // || $.(cookie('cart') === "null" || $.cookie('cart') === undefined))
// {
      // alert( " cart cookie deleted 3        " +$.cookie("cart") );
// }
</script>

  <script>
 alert( "after delete         " + $.cookie("cart") ); 
 </script>  
  <?php
  echo "Items after cookie in the cart is unset: <pre>";print_r($_COOKIE);echo "</pre>";  
  ?>

产出如下:

(1)它打印购物车中的初始值,cookie有cart变量集。

(2)删除警报前

(3)发出饼干警报

(4)删除警报后

(5) print_r投掷通知Undefined variable: _COOKIE

见解:

>主要是通过jquery设置cookie,并能够通过输出(1)访问它。

->接下来我unset cookie print_r抛出说明Undefined variable,并且通过通知仍然能够看到cookie值,我尝试以jquery方式删除cookie,但是在所有警报中都显示了cookie值,最后print_r($_COOKIE)又说了Undefined variable。

->我希望页面刷新输出(1),即print_($_COOKIE['cart'])必须说Undefined variable cart,但仍然返回原始/旧cookie-cart变量。

请建议我如何正确地取消饼干。

使用mozilla的cookie附加项,我发现cookie的路径是正确的,如前所述。

解决了

撇开jquery不说,我尝试了setcookie('cart', null, -1, '/');,它解决了我的问题!

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2014-05-29 06:56:34

需要考虑的事情:

  1. 不要接触饼干全局中的变量。它不会改变实际的曲奇。
  2. Javascript可以实时更改cookie,对于php来说,您可能需要刷新页面。这取决于您的脚本是如何构建的。Example:在php中设置cookie并在php中更改它,需要刷新。
  3. Cookie有域和路径。您已经将路径设置为/,域设置为domain.com,这正是删除cookie所需发送的内容。示例:

设置曲奇:

代码语言:javascript
复制
setcookie("cart", "my content", time()+3600, "/", "domain.com");

取消曲奇:

代码语言:javascript
复制
setcookie("cart", "", time()-3600, "/", "domain.com");
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23927143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档