介绍http协议与TCP协议:
http协议:是短连接,关闭浏览器的时候断开与服务器的连接
TCP协议:是长连接,连接一直存在
http协议是在TCP协议的基础上的,也被称为无状态协议(主要形容短连接)
为了解决http的无状态协议,出现两个辅助功能,session和cookie
简单来说session和cookie都是会话控制,在一个连接中保存数据,实现共用
session特点:
1、存储在服务器
2、每个使用者都会生成一个SESSION
3、有默认的过期时间大概15分钟左右
4、可以存储任意类型的数据
cookie特点:
1、存储在客户端
2、每个使用者都会生成一个
3、默认没有过期时间
4、只能存储字符串
session的用法:
在使用session的页面必须在代码第一行开启SESSION:session_start(); //开启SESSION
$_SESSION["uid"] = "zhangsan"; //赋值,也可以赋值数组
$_SESSION["uid"]; //取值
cookie的用法:
setcookie("uid","lisi"); //赋值(设置COOKIE)
$_COOKIE["uid"]; //取值
session的简单应用:
首页:
<style type="text/css">
*{ margin:0px auto; padding:0px}
#djs{ width:300px; height:100px}
#fen{ float:left; width:150px; height:100px; text-align:center; line-height:100px; vertical-align:middle; font-size:36px; font-weight:bold; font-family:微软雅黑; color:#60F}
#miao{ float:left; width:150px; height:100px; text-align:center; line-height:100px; vertical-align:middle; font-size:36px; font-weight:bold; font-family:微软雅黑; color:#F00}
</style>
<script src="../jquery-1.11.2.min.js"></script>
<?php
session_start();
//设置倒计时时间
$attr = array();
if(empty($_SESSION["djs"])) {
$attr = array("fen"=>1,"miao"=>00);
$_SESSION["djs"]=$attr;
} else {
$attr = $_SESSION["djs"];
}
// 开始倒计时用JS控制
?>
<div id="djs">
<div id="fen"><?php echo $attr["fen"]; ?></div>
<div id="miao"><?php echo $attr["miao"]; ?></div>
</div>
>
<script type="text/javascript">
$(document).ready(function(e) {
window.setInterval("ShowTime()",1000);
});
function ShowTime(){
$.ajax({
url:"djschuli.php",
dataType:"TEXT",
success: function(data){
if(data.trim()=="OVER") {
$("#djs").text("结束倒计时");
}else {
var lie = data.trim().split("|");
$("#fen").text(lie[0]);
$("#miao").text(lie[1]);
}
}
});
}
</script>
处理页:
<?php
session_start();
$attr = $_SESSION["djs"];
$fen = $attr["fen"];
$miao = $attr["miao"];
if($fen==0 && $miao == 0){
echo "OVER";
exit();
}
if($miao == 0){
$attr["miao"] = 59;
$attr["fen"] = $attr["fen"]-1;
}else{
$attr["miao"] = $attr["miao"]-1;
}
$_SESSION["djs"] = $attr;
echo "{$attr['fen']}|{$attr['miao']}";