• session和cookie介绍以及session简单应用


    介绍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{ 300px; height:100px}
    #fen{ float:left; 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; 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']}";
  • 相关阅读:
    Scrum与看板区别
    Android中的Apk的加固(加壳)原理解析和实现
    规模化敏捷开发的10个最佳实践
    TDD、BDD、ATDD、DDD 软件开发模式
    如何解决秒杀的性能问题和超卖的讨论
    mongo数据库的各种查询语句示例
    linux if -d -e -f表达的意思
    prometeus, grafana部署以及监控mysql
    2019年目标
    nginx 动态添加ssl模块
  • 原文地址:https://www.cnblogs.com/yongjiapei/p/5624904.html
Copyright © 2020-2023  润新知