PHP 会话控制

test.php

<?php
session_start();//开启SESSION

//会话控制

//http协议,在tcp协议的基础上
//http协议称为无状态协议

//SESSION技术 COOKIE技术

//SESSION的特点:1.存储在服务器 2.每个用户者都会生成一个SESSION 3.有默认的过期时间(15分钟左右)4.可以存储任意类型的数据
//COOKIE特点:1.存储在客户端 2.每个使用者都会生成一个 3.默认没有过期时间 4.只能存储字符串

//SESSION的使用:
//1.使用SESSION的页面必须在代码第一行开启SISSION
$_SESSION["uid"]="张三";//赋值//取值时只要在同一个服务器下都可以取到
//COOKIE的使用:
setcookie("uid","李四");//赋值(设置COOKIE)调用方法进行赋值
?>
<a href="test1.php">跳转</a>

test1.php

<?php
session_start();

echo $_SESSION["uid"];

echo $_COOKIE["uid"];//取COOKIE值
?>

例1:登录
login.php

<form action="loginchuli.php" method="post">
<div>用户名:<input type="text" name="uid" /></div>
<div>密码:<input type="password" name="pwd" /></div>
<input type="submit" value="登录" />
</form> 

loginchuli.php

<?php
session_start();
include("../dbda.php");
$db=new DBDA();

$uid=$_POST["uid"];
$pwd=$_POST["pwd"];

$spwd="select pwd from users where uid='{$uid}'";
$mima=$db->StrQuery($spwd);

if($pwd==$mima)
{
    $_SESSION["uid"]=$uid;
    header("location:main.php");    
}
else
{
    echo"用户名或密码错误";    
} 

main.php

<?php
session_start();

if(empty($_SESSION["uid"]))
{
    header("location:login.php");
    exit();    
}

echo $_SESSION["uid"];

?>

 例2:倒计时

daojishi.php

<style type="text/css">
#daojishi
{
    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>
</head>

<body>
<?php
session_start();
    
    //设置倒计时时间
    $attr = array();
    if(empty($_SESSION["djs"]))
    {
        $attr = array("fen"=>1,"miao"=>00);
        $_SESSION["djs"]=$attr;
    }
    else
    {
        $attr = $_SESSION["djs"];
    }
    
    //开始倒计时(用JS控制)
?>

<div >
    <div ]; ?></div>
    <div ]; ?></div>
</div>

</body>
<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>

djschuli.php

<?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']}";