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

来源:互联网 发布:淘宝客服沟通例子 编辑:程序博客网 时间:2024/06/06 06:50


<?php /*  * Session的初步介绍:    Session是服务器端技术+          注意:一个会话(浏览器)对应一个Session文件     session的基本用法(crud) 增删改查.    xampp中session文件默认保存在  C:\xampp\tmp*/?><?phpheader("Content-type: text/html; charset=utf-8");//屏蔽notice级错误error_reporting(E_ALL^E_NOTICE);echo "<br/><b>***演示如何保存session数据**</b><br/>";//1.初始化sessionsession_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();//?><?phpecho "<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 的调用方式。


0 0