使用$_COOKIE读取Cookie (PHP) - Go语言中文社区

使用$_COOKIE读取Cookie (PHP)


Cookie实际上是一个很小的文本文件,网站通过向用户硬盘中写入一个Cookie文件来标识用户。当用户下次再访问该网站时,浏览器会将Cookie信息发送给网站服务器,服务器通过读取以前写入的Cookie文件中的信息,就能识别该用户。

Cookie的两种形式:
(1)会话Cookie。临时性的,只在浏览器打开时存在,主要用来实现Session技术。
(2)永久Cookie。永久性的,保存在用户硬盘上并在有效期内一直可用。

创建和修改Cookie

在PHP中,利用setcookie()函数可以创建和修改Cookie,以及设置Cookie的有效期;而使用$_COOKIE[]数组可以读取Cookie变量的值。

setcookie(name,value[,exprie,path,domain,secure]);//创建Cookie

参数:
name:Cookie的变量名
value:Cookie的变量值
expire:Cookie的有效期
path:Cookie的服务器路径
domain:Cookie的有效域名
secure:是否采用HTTPS来传输Cookie

说明:
(1)除了name和value是必需参数外,其他参数都是可选的。
(2)没有设置有效期的Cookie为会话Cookie。
(3)修改永久Cookie时若没设置有效期,该Cookie将被修改为会话Cookie。
(4)在使用setcookie()函数前,不要有任何HTML内容输出到浏览器,否则setcookie()创建Cookie将失败。因为Cookie也是作为HTTP协议头的一部分。
(5)Cookie变量的值总时字符串数据类型。

使用header设置Cookie:
header('Set-Cookie:name=value;expires=".gmstrftime("%A,%d-%b-%Y %H:%M:%S GMT",time()+10)');

删除Cookie的方法:
(1)将Cookie的变量值设置为空,并且不设置有效期,不设置有效期将删除Cookie文件中的Cookie变量。
(2)将Cookie的有效期设置为过去的某个时刻。
无论哪种方法,浏览器收到这样的Cookie响应头信息后,将自动删除用户硬盘中的Cookie文件和内存中的Cookie信息。

使用setcookie()函数创建及删除Cookie数组

//test1.php
<?php
	setcookie("user[name]","admin",time()+600);
	setcookie("user[pw]","123456",time()+600);
	setcookie("user[city]","china",time()+600);
	echo '创建Cookie信息成功,<a href="test2.php">点击查看Cookie信息</a>';
?>

//test2.php
<?php
	echo "Cookie信息:<br/>";
	if(isset($_COOKIE['user'])){
		foreach($_COOKIE['user'] as $key=>$value){
			echo $key."=>".$value."<br/>";
		}
		echo '<a href="test3.php">删除Cookie信息</a>';
	}
	else{
		var_dump($_COOKIE);
	}
?>

//test3.php
<?php
	setcookie('user[name]',"");
	setcookie('user[pw]',"123456",time()-1);
	setcookie('user[city]',"china",time()-1);
	echo '已清空Cooike信息,<a href="test2.php">返回查看Cookie信息</a>';
?>

运行截图

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/sm20170867238/article/details/90762010
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-04-18 19:58:57
  • 阅读 ( 1017 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢