Session的基本介绍与操作:保存、更新、查看、删除


<?php 
/* 	
 * Session的初步介绍:
    Session是服务器端技术+
          注意:一个会话(浏览器)对应一个Session文件 
    session的基本用法(crud) 增删改查.
    xampp中session文件默认保存在  C:\xampp\tmp
*/
?>
<?php
header("Content-type: text/html; charset=utf-8");
//屏蔽notice级错误
error_reporting(E_ALL^E_NOTICE);
echo "<br/><b>***演示如何保存session数据**</b><br/>";
//1.初始化session
session_start();
//2.保存数据
$_SESSION['name']="shunping";
//session文件中可以保存srring , dobule , integer, bool, array, object
//3、保存inter bool
$_SESSION['age']=100;
$_SESSION['isBoy']=true;

//4、保存数组
$arr1=array("北京","小明","hello");
$_SESSION['arr1']=$arr1;

//5、保存一个对象到session文件
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;
    }
}

$dog1=new Dog("大狗",5,"很好的一只狗");
$_SESSION['dog1']=$dog1;
echo "保存ok";
?>
<?php
    // (1) 要使用session,都需要初始化 sesssion_start();
    // (2) session文件中可以放入多个  key<==>val对 , 注意 key不能重复,val可以是基本数据类型,和array,对象.
    // (3) 如果我们要取出对象,则需要实现申明一下类的定义信息.

	echo "<br/><br/><b>***演示如何获取session数据***</b><br/>";
	//1.初始化session
	//session_start();
	//获取session
	//2.把所有的session获取
    //pre 元素可定义预格式化的文本。被包围在 pre 元素中的文本通常会保留空格和换行符。而文本也会呈现为等宽字体。
    //<pre> 标签的一个常见应用就是用来表示计算机的源代码,用来格式化某文本。
	echo "<pre>";
	print_r($_SESSION);
	echo "</pre>";

	//3.通过key来指定获取某个值
	echo "<br/>名字是:".$_SESSION["name"];
	
	$arr1=$_SESSION['arr1'];

	echo "<br/>数组的数据是:";
	foreach($arr1 as $key=>$val){
		echo "<br/>--$val";
	}
	//4.取出对象
	//保存一个对象到session文件
	//类的定义重新引入到该文件,我们必须 把它放在session_start()前

	$xiaogou=$_SESSION['dog1'];

	echo "<br/>小狗的名字:".$xiaogou->getName();//
?>
<?php
	echo "<br/><br/><b>***演示如何更新session数据***</b><br/>";
    //1、初始化session
	//session_start();
    //2、session的更新即对session中对应的key重新赋值即可
	$_SESSION['name']="顺平";
	echo "更新成功!";
	echo "<br/>名字是:".$_SESSION["name"];
?>
<?php

    echo "<br/><br/><b>***演示如何删除session数据***</b><br/>";
	
    //1、初始化session
	//session_start();
    //删除sessoin信息
    //1.删除某一个key<==>val
	//unset($_SESSION['name']);

	//2.删除所有的 key<==>val
	//这样就会把当前这个浏览器对应的session文件删除.
    //session_destroy()虽然销毁了,但cookie中仍然存在
	//session_destroy();
    session_unset();
	echo "删除session成功!";
	if($_SESSION['age']=="")
	echo "<br/>确实删除session成功!";
	echo $_SESSION['age'];
?>

	

PHP中Session()扩展函数的使用 

对比起 Cookie,Session 是存储在服务器端的会话,相对安全,并且不像 Cookie 那样有存储长度限制,本文简单介绍 Session 的使用。
由于 Session 是以文本文件形式存储在服务器端的,所以不怕客户端修改 Session 内容。实际上在服务器端的 Session 文件,PHP 自动修改 Session 文件的权限,只保留了系统读和写权限,而且不能通过 ftp 修改,所以安全得多。

<?php 
// 启动 Session 
session_start(); 
// 声明一个名为 admin 的变量,并赋空值。 
$_SESSION["admin"] = null; 
?>
<?php 
session_start(); 
// 这种方法是将原来注册的某个变量销毁
unset($_SESSION['admin']); 
// 这种方法是销毁整个 Session 文件
session_destroy(); 
?>
<?php 
session_start(); 
// 保存一天 
$lifeTime = 24 * 3600; 
setcookie(session_name(), session_id(), time() + $lifeTime, "/"); 
?>
<?php 
// 保存一天 
$lifeTime = 24 * 3600; 
session_set_cookie_params($lifeTime); 
session_start(); 
$_SESSION["admin"] = true; 
?>
<?php 
// 保存一天 
$lifeTime = 24 * 3600; 
// 取得当前 Session 名,默认为 PHPSESSID 
$sessionName = session_name(); 
// 取得 Session ID 
$sessionID = $_GET[$sessionName]; 
// 使用 session_id() 设置获得的 Session ID 
session_id($sessionID);
session_set_cookie_params($lifeTime); 
session_start(); 
$_SESSION['admin'] = true; 
?>
<?php 
// 设置一个存放目录 
$savePath = './session_save_dir/'; 
// 保存一天 
$lifeTime = 24 * 3600; 
session_save_path($savePath); 
session_set_cookie_params($lifeTime); 
session_start(); 
$_SESSION['admin'] = true; 
?>

另外,我们还可以使用 session_set_save_handler 函数来自定义 Session 的调用方式。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值