我正在创建一个差不多完成的支付系统,唯一剩下的就是删除用于交易的所有cookie。
现在我可以删除所有cookie,如果我将删除功能添加到我的某个网站页面并将其设置为刷新,这确实有效,但是需要用户返回该页面开始,有些用户可能会使用paypal支付关闭浏览器的费用,因此下次打开网页时,cookie仍然有效。
我试图删除IPN文件中的cookie,其中paypal使用它与网页进行通信,但我似乎无法将其删除,因为我无法刷新页面,是否有其他方法可以删除cookie?< / p>
PHP
foreach ($_COOKIE as $key => $value){
setcookie( $key, $value, time()-(100000 * 60), '/' );
}
if(count($_COOKIE) !=0){
// I also tried this method, refreshing the IPN file but it didnt work.
header("Refresh:0");
}
答案 0 :(得分:1)
你的方法错了。您应该跟踪数据库中的事务,而不是cookie。 Cookie可用于会话。
然后,一旦您收到PayPal的付款确认,您就可以通过IPN页面关闭数据库中的交易。
换句话说,IPN页面由PayPal调用,从不会看到客户浏览器,因此无法删除那里的cookie。
答案 1 :(得分:0)
来自setcookie()
的PHP手册评论部分:
http://php.net/manual/en/function.setcookie.php#109173
想要删除Cookie吗?
许多人以复杂的方式做到这一点: setcookie(&#39; name&#39;,&#39; content&#39;,time() - 3600);
但是,当客户的时间错误时,为什么要让它变得如此复杂并且冒着不起作用的风险呢?为什么要用时间扭曲();
以下是取消设置Cookie的最简单方法: setcookie(&#39; name&#39;,&#39; content&#39;,1);
多数民众赞成。