php中如果删除cookie
在php中,可以利用setcookie()函数来删除cookie,只需要将该函数的第二个参数设置为空,或者第三个参数设置为小于系统的当前时间即可。
本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑
当 Cookie 被创建后,如果没有设置它的失效时间,其 Cookie 文件会在关闭浏览器时被自动删除,如果要在关闭浏览器之前删除 Cookie 文件,那就需要使用 setcookie() 函数。
使用 setcookie() 函数删除cookie有两种方法,下面给大家具体介绍一下。
方法1:使用 setcookie() 函数将 Cookie 的值(也就是第二个参数)设置为空
<?php echo '<pre>'; if(!isset($_COOKIE['url']) && !isset($_COOKIE['name'])){ setcookie('url','https://www.yht7.com/'); setcookie('name','PHP中文网'); echo '首次运行,设置 url、name 两个 Cookie 的值'; }else if(isset($_COOKIE['url'])){ echo '查看 Cookie 的值,如下所示:<br>'; print_r($_COOKIE); echo '清除 url 的值'; setcookie('url',''); }else{ print_r($_COOKIE); } ?>
首次运行上面的代码会创建名为 url、name 的两个 Cookie;再次运行可以查看 Cookie 的值,并清除其中 url 的值;第三次运行可以查看清除后的结果。如下所示:
// 第一次运行 首次运行,设置 url、name 两个 Cookie 的值 // 第二次运行 查看 Cookie 的值,如下所示: Array ( [url] => https://www.yht7.com/ [name] => PHP中文网 ) 清除 url 的值 // 第三次运行 Array ( [name] => PHP中文网 )
方法2:使用 setcookie() 函数将 Cookie 的过期时间(也就是第三个参数)设置为小于系统的当前时间即可。
<?php echo '<pre>'; if(!isset($_COOKIE['url']) && !isset($_COOKIE['name'])){ setcookie('url','https://www.yht7.com/'); setcookie('name','PHP中文网'); echo '首次运行,设置 url、name 两个 Cookie 的值'; }else if(isset($_COOKIE['url'])){ echo '查看 Cookie 的值,如下所示:<br>'; print_r($_COOKIE); echo '清除 url 的值'; setcookie('url','https://www.yht7.com/', time()-1); }else{ print_r($_COOKIE); } ?>
运行结果如下:
// 第一次运行 首次运行,设置 url、name 两个 Cookie 的值 // 第二次运行 查看 Cookie 的值,如下所示: Array ( [url] => https://www.yht7.com/ [name] => PHP中文网 ) 清除 url 的值 // 第三次运行 Array ( [name] => PHP中文网 )
推荐学习:《PHP视频教程》