Cookie
Cookie由于Http协议是无状态协议,当同一个用户请求一个页面后,再请求同一个网站的另一个页面时,http协议并不能告诉服务器两个请求是来自同一个用户,不能将两次访问联系到一起。 Cookie可以让Web服务器将一些网站登录用户的资料存放于客户端的电脑上。例如:当通过验证,成功登陆网站后,在同一个网站下第一个页面的PHP脚本,会把这个用户有关的信息设置到客户端电脑的Cookie中,当再次访问同一个网站中的其他脚本时,会自动携带Cookie中的数据一起访问,服务器中的每个脚本都可以接受Cookie中的数据,不需要每访问一个页面就重新输入一次登陆者的信息。 ? Cookie的建立 1. 向用户端电脑设置Cookie? ??? ? setcookie(); 2. 在服务器端读取Cookie内容??? $_COOKIE 3. 将多维数组应用于Cookie中 ? ?setcookie(“member[name]”,’liangjie’);? ? ? setcookie(“member [email]”,’1853881164@qq.com’); 4.删除Cookie?????????????? ?setcookie(“member”,‘ ’,time()-3600);? //将时间设为超时 ? 实验1新建文件下,在其下面创建第一个.php文件,建立Cookie。代码如下: <?php header('Content-type:text/html;charset=utf-8'); /* var_dump(setcookie('name','liangjie',time()+3600)); echo '<br />'; var_dump($_COOKIE); */ //向客户端电脑设置Cookie,有效时间为当前时间+3600s var_dump(setcookie("member[name]",time()+3600)); //打印结果,若返回true则设置成功 echo '<br />'; setcookie("member[email]",'185@163.com',1)">));//打印结果,若返回ture则设置成功 ?> ? ? ? ? ? 在同文件夹下面创建第二个.php文件,验证Cookie。代码如下: ? <?php
header('Content-type:text/html;charset=utf-8');
var_dump($_COOKIE);
?>
? ? ? ? ? 在同文件夹下面创建第三个.php文件,删除Cookie。代码如下: <?php
//遍历删除
foreach($_COOKIE['member'] as $key => $val){
var_dump(setcookie("member[{$key}]",'',time()-3600));
}
? ? ? 注:实验前最好清空一下浏览器浏览记录 ? ? 实验2此实验说明同一个用户使用不同的浏览器访问同一个网站时,设置的Cookie值不同 新建文件下,在其下面创建第一个.php文件,建立Cookie。代码如下: <?php
header('Content-type:text/html;charset=utf-8');
//随机产生一个ID,并在此ID前随机产生一个数作为前缀(避免ID重复)交给Cookie
$id = uniqid(rand(1000,9999).'_');
var_dump(setcookie('id',$id,time()+3600)); //打印结果,返回值为ture,设置成功
?>
? 新建文件下,在其下面创建第二个.php文件,验证Cookie。代码如下: <?php
header('Content-type:text/html;charset=utf-8');
var_dump($_COOKIE);
?>
? ? ? ? ? 新建文件下,在其下面创建第三个.php文件,删除Cookie。代码如下: <?php
//遍历删除
foreach($_COOKIE['member'] as $key => $val){
var_dump(setcookie("member[{$key}]",time()-3600));
}
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |