zoukankan      html  css  js  c++  java
  • php的cookie配置和session使用

    1、Cookie和Session简介与区别

    2、Cookie的配置与应用

    3、Session的配置与应用

    4、用Cookie和Session做登陆

    ----------------------------------------------------

    1、Cookie和Session简介与区别

    PHP对cookie的接收和处理的支持非常好,完全自动。

    在非常多时候,我们需要跟踪浏览者在整个网站的活动,对他们身份进行自动或半自动的识别(也就是平时常说的网站登陆之类的功能),这时候,我们常采用Cookie与 Session来跟踪和判断。

    区别

    Session信息是存放在server端,但session id是存放在client cookie的,当然php的session存放方法是多样化的,这样就算禁用cookie一样可以跟踪Cookie是完全保持在客户端的如:IE firefox 当客户端禁止cookie时将不能再使用。

    2、Cookie的配置与应用

    Setcookie(string name, string value, int expire,string path, string domain, int secure); 

    其中name是cookie变量名称标识,你在php中将能象使用普通变量名相同来用他引用cookie变量。

    value是cookie变量的初始值,expire 表示该cookie变量的有效时间;

    path 为该cookie变量的相关路径;向下兼容,权限只在此目录以下。

    domain 表示cookie变量的网站;跨域,待研究  .07byte.com 泛解析;

    secure 则需在 https 的安全传输时才有效。待研究  1为https

    例如

    SetCookie("login", "logined",time()+3600, "/forum", ".07byte.com", 1);

    调用COOKIE值;

    echo $_COOKIE["login"];

    cookie可以是字符串,也可以是数组;

    删除COOKIE

    1、SetCookie("Cookie", "");

    2、SetCookie("Cookie", "value" , time()-1 / time() );

    使用Cookie的限制

    1、必须在HTML文件的内容输出之前设置;

    2、不同的浏览器对Cookie的处理不一致,且有时会出现错误的结果。

    3、限制是在客户端的。一个浏览器能创建的Cookie数量最多为30个,并且每个不能超过4KB,每个WEB站点能设置的Cookie总数不能超过20个。可以考虑灵活的用数组。

    3、Session的配置与应用

    session_start();                    //初始化session.需在文件头部 在start 后,session才可以开始使用;cookie可以在输出html前,但session要在所有header文件之前。

    $_SESSION[name]=value;  //配置Seeeion

    echo $_SESSION[name];    //使用session;cookie是生成在客户端,第一次只是生成,第二次访问才能生效,session配置好立马就会生效

    isset($_SESSION[name]);   // 判断  

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

    session_destroy();             //消耗所有session

     4 用户登录实例

    session_start();                    //初始化session.需在文件头部,所有输出前。

    $_SESSION[name]=value;  //配置Seeeion

    echo $_SESSION[name];    //使用session

    isset($_SESSION[name]);   // 判断

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

    session_destroy();             //消耗所有session

    实例:登录系统;

    <?php 

    if(@$_POST["sub"]){
        if($_POST["uname"] && $_POST["upsw"]){
            setcookie('uname',$_POST["uname"],time()+3600);
            setcookie("password",$_POST["upsw"],time()+3600);
            ECHO "成功";
                echo "<Script>location.href=test.php</script>";
            
        }
    }

    ?>

    <form action="test.php" method="POST"> <INPUT TYPE="TEXT" VALUE="" NAME="uname" placeholder="uname"> <INPUT TYPE="password" VALUE="" NAME="upsw" placeholder=""> <INPUT TYPE="submit" name="sub"> </form>

    写的比较简单,然后是关于session,可能更就简单,注意放在最前面;

    session_start();
    //session_destroy();
    //session_unset();
    
    if(@$_POST["sub"]){
        if($_POST["uname"] && $_POST["upsw"]){
            $_SESSION["uname"]=$_POST["uname"];
            $_SESSION["password"]=$_POST["upsw"];
            ECHO "成功";
            
        }
    }
  • 相关阅读:
    Vue ref
    Vue 全局注册
    【华为云技术分享】用Flask开发Web版日历应用
    【华为云技术分享】鲲鹏展翅 力算未来 | openEuler操作系统源代码正式开放
    【华为云技术分享】17张图带你解析红黑树的原理!保证你能看懂!
    【华为云技术分享】自动搭建openEuler虚拟机QEMU运行环境
    【华为云技术分享】【玩转Atlas200DK系列】应用开发之 交叉编译第三方库并在工程中使用(jsoncpp)
    【华为云技术分享】GitHub联合开发
    【华为云技术分享】【DevCloud•敏捷智库】读懂敏捷需求管理的4个关键词
    【华为云技术分享】iSulad轻量化容器实践解析
  • 原文地址:https://www.cnblogs.com/07byte/p/5944457.html
Copyright © 2011-2022 走看看