zoukankan      html  css  js  c++  java
  • 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 id="djs">
        <div id="fen"><?php echo $attr["fen"]; ?></div>
        <div id="miao"><?php echo $attr["miao"]; ?></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']}";
  • 相关阅读:
    面试题系列--【vue的生命周期】
    面试题系列--【hash和history的区别】
    ES6系列--【事件循环 EventLoop(Promise,setTimeOut,async/await执行顺序)】
    ES6系列--【ES6数组新增方法】
    ES6系列--【ES6 新增字符串方法】
    微信小程序系列--【VXML语法、VMSS样式、条件渲染、列表渲染、模板、引用、组件、事件系统】
    微信小程序系列--【小程序注册、工程创建、全局配置、页面配置】
    微信小程序系列---【五星好评案例】
    react系列---【Hooks】
    2019.9.18-单向循环链表删除元素(+之前完整代码)
  • 原文地址:https://www.cnblogs.com/yy01/p/5519736.html
Copyright © 2011-2022 走看看