辣鸡程序员_PHP_Cookie And Session_demo


存在客户端

设置cookie(增删改)

        <?php
            //增、改
            setcookie("name", "zhangsan");
            //删除
            setcookie("name", "");
            setcookie("name");
        ?>

获取cookie

    $_COOKIE["name"]

设置有效期

     setcookie(key, value, time);                      //time()+60*60*24
     time()-1                                        //删除cookie
     PHP_INT_MAC                                     //代表整型最大值
         setcookie(key, value, time, path);          //参数设置为“/”,整个domain内有效,设置为“/11”,它在domain下的/11目录及子目录内有效

cookie有效域

     setcookie(key, value, time, path, domain);          //cookie仅在当前域下有效

cookie是否安全传输

         setcookie(key, value, time, path, domain,secure);     //1为开启安全传输,0为默认值,如果为0,则cookie在http和https都有效

cookie的缺点

         数据原文存储于浏览器端,原始数据安全性较低;如果cookie数据量较大,由于每次请求都要携带,增加宽带使用。

session


存在服务器端

开启session机制

     session_start();        //没有session创建,有就不创建,一个会话中只有一个session

利用$_SESSION操作session数据

      session_start();
      //增,改(存在值就是修改,不存在就是增加)
      $_SESSION["name"] = "123";

      //查
      var_dump($_SESSION["name"]);
      //删除
      unset($_SESSION["name"]);

注销session

    session_destroy();

Cookie实例


<?php
    $username = "";
    //请求中有名字为name的cookie
    if(isset($_COOKIE['username'])){
        $username = $_COOKIE['username'];
    }
    echo $_COOKIE['username'];  
    if( $_SERVER['REQUEST_METHOD']=="POST"){
        $username = $_POST['username'];
        $pwd = $_POST['pwd'];
        if( empty($_POST["issave"])){
            $issave = 0;
        }else{
            $issave = $_POST["issave"];
        }
        if($username =="abc" and $pwd =="888"){
            if($issave == 1){
                setcookie("username",$username,time()+60*60*24,"/");   //存储cookie
            }
            else{
                setcookie("username"); //删除cookie
                $username = "";
            }
        }
    }
?>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <form action="" method="post">
            <input type="text" name="username" value="<?php echo $username;?>"/><br />
            <input type="text" name="pwd"/><br />
            <input type="checkbox" name="issave" value="1"/>保存用户名<br />
            <input type="submit" value="登录"/>
        </form>
    </body>
</html>

Session实例


index.php

<?php
    session_start();
?>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <?php
        if( isset($_SESSION['name'])){    //已登录
            echo "欢迎,{$_SESSION['name']}";
        }
        else{
            echo '<a href="login.php">登录</a>';
        }
        ?>
        <a href="logout.php  ">注销</a>
    </body>
</html>

login.php

<?php
    session_start();  //打开session
    if( $_SERVER['REQUEST_METHOD']=="POST"){
        $username = $_POST['username'];
        $pwd = $_POST['pwd'];
        if($username =="abc" and $pwd =="888"){
            header("location:index.php");
            $_SESSION['name'] = $username; 
        }else{
            echo "用户名或密码错误";
        }
    }
?>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <form action="" method="post">
            <input type="text" name="username" /><br />
            <input type="text" name="pwd"/><br />
            <input type="checkbox" name="issave" value="1"/>保存用户名<br />
            <input type="submit" value="登录"/>
        </form>
    </body>
</html>

logout.php

```<?php
session_start();
unset($_SESSION["name"]);
session_destroy();```
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值