zoukankan      html  css  js  c++  java
  • PHP会话技术Session

    Session 是服务端技术,利用这个技术,服务器在运行时可以为每一个用户的浏览器创建一个其独享的session文件,由于session为用户浏览器独享,所以用户在访问服务器的web资源时,可以把各自的数据放在各自的session中,当用户再去访问服务器中的其它web资源时(前提会话没有结束),其他web资源再从用户的各自session中取出数据为用户服务。

    Session 是最重要的用户行为跟踪技术(防止用户非法登录/验证码等)。

    默认情况下session文件被保存在C:/Windows/temp 目录下。

    下面是对session的CRUD的操作

    1、创建session

    <?php
    
        //创建session
        //初始化session
        session_start();
        //保存数据
        $_SESSION['name']="pawm";
        //session 文件中可以保存dobule,integer,string,bool, array,object
    
        //保存bool integer
        $_SESSION['age']=20;
        $_SESSION['isBoy']=true;
    
        $_SESSION['arr']=array("北京","张三","xiaoming");
    
        //保存对象到session 中
        class Dog{
            private $name;
            private $age;
            private $intro;
    
            public function __construct($name,$age,$intro){
                
                $this->name=$name;
                $this->age=$age;
                $this->intro=$intro;
            }
        }
    
        $dog1=new Dog("狗狗",5,"很听话的狗");
        $_SESSION['dog1']=$dog1;
        echo "保存成功";
    ?>

     要点:

    1. 1、保存的数据格式:name|s:4:"pawm";age|i:20;isBoy|b:1;

      name:就是key

      s:表示数据类型

      4:表示数据大小

    1. 2、session 中可以保存的数据类型是:dobule,integer,string,bool, array,object

    2、取出session操作

    <?php
        
        require_once "Dog.class.php";
        echo "<pre>";
        //使用到session的地方必须要初始化session
        session_start();
        //取出全部
        print_r($_SESSION);
    
        echo "</pre>";
    
        //单个取出
        //$name=$_SESSION['name'];
        if(!empty($_SESSION['name'])){
            echo "名字是:".$_SESSION['name'];
        }else{
            echo 'name没有了<br>';
        }
        if(!empty($_SESSION['age'])){
            echo "年龄是:".$_SESSION['age']."<br>";;
        }else{
            echo 'age没有了<br>';
        }
        //echo $_SESSION['isBoy'];  //输出1
        
        if(!empty($_SESSION['arr'])){
    
            $arr=$_SESSION['arr'];
            foreach($arr as $key=>$val){
                echo "$val";
            }
        }else{
            echo 'arr没有了<br>';
        }
        echo "<br>";
        //取出对象的实例的时候要把类的信息引入进来,不然出现错误
    
        if(!empty($_SESSION['dog1'])){
            $dog=$_SESSION['dog1'];
            //var_dump($dog);
            echo "<br>".$dog->show();
            //echo $dog->name;
            //echo '名字是'.$name."年龄是".$age;
        }else{
            echo 'dog没有了<br>';
        }
    ?>

    3、更新session

    <?php
    
        //更新session
    
        session_start();
        //更新name
        $_SESSION['name']="小明";
    
        echo "更新成功";
    
    ?>

     4、删除session

    <?php
    
        //删除session
    
        session_start();
        //单个删除,删除name
        //unset($_SESSION['name']);
    
        //删除全部
        session_destroy();
        echo "删除session成功";
    
    ?>
  • 相关阅读:
    MySQL 8.0.11免安装版配置步骤
    python SQLAlchemy 中的Engine详解
    Python正则表达式指南
    Qt树形控件QTreeView使用1——节点的添加删除操作
    主流的比较流行的Python量化开源框架
    selenium的常见异常
    量化投资学习【经典指标和K线图系列】之1——指数平滑均线
    量化投资学习【经典指标和K线图系列】之4——MACD
    node 连接 mysql 报错 ER_NOT_SUPPORTED_AUTH_MODE
    Mac中安 python-ldap 出错error: command 'clang' failed with exit status 1的解决办法
  • 原文地址:https://www.cnblogs.com/pwm5712/p/3069109.html
Copyright © 2011-2022 走看看