PHP cookie与session

tech2022-11-27  95

一、cookie

Cookie是用来将网站的资料记录在客户端的技术,这种技术让Wleb服务器能将一些资料,存放于客户端(用户的电脑)之中。 比如:当通过验证,成功登录网站后,在”网页一“的PHP脚本中,会把这个用户 有关的信息,设置到客户端电脑的Cookie中,当再次访问同一个网站中的其他脚本时,就会自动携带Cookie中的数据一起访问,在服务器中的每个脚本中都可以接受Cookie中的数据,不需要每访问一个页面就重新输入一次登录者的信息。

向客户端电脑中设置Cockie PHP中setcookie() 函数用于设置 cookie。 //语法 setcookie(name, value, expire, path, domain);

如:

<?php setcookie('name','zhangsan",time()+60*60); ?> 在服务器端上读取Cookie的内容 PHP 的 $_COOKIE 变量用于取回 cookie 的值。 <?php // 输出 cookie 值 echo $_COOKIE["user"]; // 查看所有 cookie print_r($_COOKIE); ?> 多维数组应用于Cookie中 <?php setcookie("member[name]",'zhangsan',time()+60*60) setcookie("member[email]",'666666@qq.com',time()+60*60); ?> 删除Cookie <?php // 设置 cookie 过期时间为过去 1 小时 setcookie("member",time()-3600); ?>

二、session

您在计算机上操作某个应用程序时,您打开它,做些更改,然后关闭它。这很像一次对话(Session)。计算机知道您是谁。它清楚您在何时打开和关闭应用程序。然而,在因特网上问题出现了:由于HTTP 地址无法保持状态,Web 服务器并不知道您是谁以及您做了什么。 PHP session 解决了这个问题,它通过在服务器上存储用户信息以便随后使用(比如用户名称、购买商品等)。然而,会话信息是临时的,在用户离开网站后将被删除。如果您需要永久存储信息,可以把数据存储在数据库中。

Session 的工作机制是:为每个访客创建一个唯一的 id (UID),并基于这个 UID 来存储变量。UID 存储在 cookie中,或者通过 URL 进行传导。

开启session <?php session_start(); //弃启一个会话,或者返回已经存在的会话 ?>; 使用session存储数据 <?php session_start(); $_SESSION['username']='zhangsan'; $_SESSION['email']='666666@qq.com'; ?>; 注销变量与销毁session 删除某些 session 数据,可以使用 unset() 或 session_destroy() 函数。

实例1:

<?php session_start();//打开要销毁的会话! if(isset($_SESSION['views'])) { unset($_SESSION['views']);//Free all session variables } ?>

实例2:

<?php session_destroy();//销毁一个会话中的全部数据 ?>
最新回复(0)