一、SESSION
Session:在计算机中,尤其是在网络应用中,称为“会话控制”。Session 对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将自动创建一个 Session 对象。当会话过期或被放弃后,服务器将终止该会话。Session 对象最常见的一个用法就是存储用户的首选项。
在计算机专业术语中,Session是指一个终端用户与交互系统进行通信的时间间隔,通常指从注册进入系统到注销退出系统之间所经过的时间。以及如果需要的话,可能还有一定的操作空间。
登录
登录处理页面:
StrQuery($sql,0,"weixin");if($r==1){ $_SESSION["uid"] = $uid; header("location:main.php"); }else{ header("location:login.php"); }
主页面:
例3:加入购物车,控制购买数量
水果展示页面:
加入购物车处理页面:
$v) { if($v[0]==$code) //找到该主键值,数量加1 { //改$v[1]不行,因为$v是赋值后的变量,它的变化与原数组$attr无关,所以必须用原数组去变化 $attr[$k][1]= $v[1]+1; } } $_SESSION["sg"]= $attr; } else //若不存在,追加一个数组,存入session { $arr = array($code,1); array_push($attr,$arr); $_SESSION["sg"] = $attr; } }//判断该水果是否已经存在的方法function iscunzai($c) //传入一个参数{ $attr = $_SESSION["sg"]; //获取session中的数据 $b = false; foreach($attr as $v) { $b= $b || in_array($c,$v); //$c是否在数组$v里面,返回true or false } return $b; //若存在,返回true,若不存在,返回false}header("location:showlist.php");
购物车页面:
删除处理页面:
$v)//循环遍历二维数组{ if($v[0]==$code ) //找到与传过来的主键值相等的主键值 { //判断水果数量是否为1 if($v[1]>1) { $attr[$k][1] = $v[1]-1; } else //数量等于1 { unset($attr[$k]); } } }$_SESSION["sg"] = $attr; //将删除操作完成后的二维数组存入sessionheader("location:gouwuche.php");
二、COOKIE
“Cookie”是小量信息,由发 送出来以存储在网络浏览器上,从而下次这位独一无二的访客又回到该网络服务器时,可从该浏览器读回此信息。这是很有用的,让浏览器记住这位访客的特定信 息,如上次访问的位置、花费的时间或用户首选项(如样式表)。Cookie 是个存储在浏览器目录的文本文件,当浏览器运行时,存储在 RAM 中。一旦你从该网站或网络服务器退出,Cookie 也可存储在计算机的硬驱上。当访客结束其浏览器对话时,即终止的所有 Cookie。
特点:
1.存储在客户端的
2.每个人存一份
3.只能存储字符串
4.默认永不过期的,除非清除掉
5.安全性较低
用法:
setcookie("uid","zhangsan");//设置cookie
echo $_COOKIE["uid"];//获取cookie,若是在本页面取值,第一次会报错。
例子:
跳转页面:
注意:设置cookie后,在其他页面也可以取到cookie的值:"zhangsan"。