php会话技术之Session用法举例

发布时间:2019-09-16编辑:脚本学堂
本文介绍下,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、保存的数据格式:name|s:4:"pawm";age|i:20;isBoy|b:1;
name:就是key
s:表示数据类型
4:表示数据大小
2、session 中可以保存的数据类型是:dobule,integer,string,bool, array,object

2、取出session
 

复制代码 代码示例:

<?php
   //取出session
  //www.jb200.com
    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成功";
?>