

Cookie的定义,创建,读取,删除,举例,Session的启动,注册,使用,删除与举例,以及两者的比较
11.1 cookie管理
1) 定义:cookie是把访问者的各种信息记录在一个文本文件中,以便该访客下次登录该网站时快速读取上次访问的各种信息,包括
访问的位置,花费的时间,用户名和密码等,浏览通过这些来跟踪和识别用户。
2) cookie文件命名规则,系统登录的用户名@网站地址[数字].txt
3) cookie的主要作用有,记录访客的某些信息,在页面间传递变量,将查看web页存在cookies临时文件夹以提高下次浏览速度
4) cookie的保存位置:c:\document..\administrator\cookies下,所有cookies都是加密的文本文件,注:cookes目录中的index.dat用以保存所有打开信息
5) 创建cookie,用setcookie()函数。注:cookie是http头标的组成部分,它前不能有任何内容,包括空行,否则出错。
6) 读取cookie,通过$_COOKIE[]来读取浏览器端的cookies值。注:$_COOKIE[]是php的超级全局数组
7) 删除cookie,用setcookie()函数或在浏览器的internet选项删除
例:用cookie统计月访问量
<?php
setcookie("TMCookie", 'www.mrbccd.com');
setcookie("TMCookie", 'www.mrbccd.com', time()+60); //设置cookie的有效时间为60秒,即当前时间加60秒
setcookie("TMCookie", $value, time()+3600, "/tm/",". mrbccd.com",1);
//设其有效时间为60秒,有效目录为“/tm/”,有效域名为“mrbccd.com”及其所有子域名
?>
setcookie("name", "", time()-1; //删除cookie的代码,设置其有效时间小于系统时间就失效了
例2:用cookie计算网站月访问量
if (!empty ($_COOKIE['counter'] )) {
$counter = $_COOKIE['counter']+1;
}else{
$counter = 1;
}
setcookie("counter",$counter,time()+2678400);
11.2 Session管理,即会话管理
1) 定义: Session会话是指终端用户与服务器间有始有终的一系列动作或消息发生的时间间隔,即从进入到退出的时间间隔。
2) Session用来记录用户有关信息,当用户要请求服务器提供数据时用来确认身份,这样当在同网站时用户登录其它页面时不用
再输一遍用户名和密码。
3) Session存储用户信息量比较少,对存储内容不要要长保存时存在服务器端比较适合
4) 启动Session会话,用sesssion_start()函数
5) 注册会话:刚启动的会话,保存在数组$_SESSION中,还需要给数组添加一个元素,即注册会话
6) 使用会话:先判断是否有会话ID存在,不存在就创建一个并使其能通过全局数组$_SESSION访问,如存在就载入会话
7) 删除会话:
unset($_SESSION['user']); //删除单个会话
$_;SESSION = array(); //删除多个会话
session_destroy(); 结束当前的会话
例:通过SESSION判断用户权限
session_start(); //启动会话
$_SESSION["admin"]=null; //注册一个会话
if(!empty($_SESSION["admin"])){ //使用会话,如果不为空
$myvalue=$_SESSION["admin"];
}
第2段:
session_start();
$_SESSION[user]=$_POST[user];
$_SESSION[pwd]=$_POST[pwd];
if($_SESSION[user]==""){
echo "<script language='javascript'>alert('请通过正确的途径登录本系统! ');history.back();</script>";
}
第3段:<?php if($_SESSION[user]=='tsoft' && $_SESSION[pwd]=="111"){echo "管理员";}else{echo "普通用户";}?>
第4段:<?php if($_SESSION[user]=="tsoft" && $_SESSION[pwd]=="111"){ ?>……html...代码 <?php } ?>
第5段:<?php
session_start();
unset($_SESSION['user']);
unset($_SESSION['pwd']);
session_destroy();
header("location:index.php");
?>
11.3 Cookie与Session的比较
1) Session保存在服务器,通过Session ID来传递客户端信息,服务器通过接收到的ID来提供Session信息
2) Cookie是将所有信息以文本形式保存在客户端,由浏览器管理和维护
3) Session存在服务器,远程用户不能修改,安全性高