Session的基本用法(增删改查)

Session是服务器端技术,利用这个技术,服务器在运行时可以为每一个用户的浏览器创建一个其独享的session文件,当用户再去访问服务器中的其它web资源时,可以从用户各自的session中取出数据为用户服务。
Session是最重要的用户行为跟踪技术(防止用户非法登录/验证码等)
1.保存session数据

———————-class.php————————————

class Dog {
    private $name;
    private $age;
    private $intro;
    function __construct($name,$age,$intro){
        $this->name=$name;
        $this->age=$age;
        $this->intro=$intro;
    }
    public function getName(){
        return $this->name;
    }
}
//---------------如何保存session数据--------------------
require_once "class.php";
//1.初始化session
session_start();
//2.保存数据
$_SESSION['name']="Sabrina";
//session文件中可以保存double,int,bool,array,object
$_SESSION['age']=100;
$_SESSION['isBoy']=false;
$arr=array("北京","天津","Hello");
$_SESSION['arr']=$arr;

//保存一个对象到session文件
$dog=new Dog("贝贝",10,"小妹妹");
$_SESSION['dog']=$dog;
echo "保存成功";

得出的网页结果为:
这里写图片描述
session文档为:
这里写图片描述

(1)要使用session,都需要初始化session_start();
(2)session文件中可以放入多个键值对,注意key不能重复,val可以是基本数据类型、数组和对象

2.获取session数据

<?php
header("Content-type:text/html;charset=utf-8");
require_once "class.php";
//----------------获取session数据--------------------
session_start();
//获取全部的session
echo "<pre>";
print_r($_SESSION);
echo "</pre>";

//指定获取
echo "<br/>名字是:".$_SESSION["name"];

$arr=$_SESSION['arr'];
foreach($arr as $key=>$val){
    echo "<br/>$key=>$val";
}

$sdog=$_SESSION['dog'];
echo "<br>小狗的名字是:".$sdog->getName();

?>

这里写图片描述

3.更新session数据

session_start();
$_SESSION['name']="Monkey·D·Luffy ";
echo "更新成功";

这里写图片描述
此时,获取数据时,name值也会更改
这里写图片描述

4.删除session数据

//删除某一个键值对
session_start();
//unset($_SESSION['name']);
echo "删除成功";

结果如下:
这里写图片描述
这里写图片描述

//删除全部
session_start();
session_destroy();//删除当前浏览器对应的session文件
echo "删除成功";

这里写图片描述
之前的session文件也将被直接删除

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章