Session的基本介绍与操作:保存、更新、查看、删除
<?php /* * Session的初步介绍: Session是服务器端技术+ 注意:一个会话(浏览器)对应一个Session文件 session的基本用法(crud) 增删改查. xampp中session文件默认保存在 C:xampp mp */ ?> <?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 的调用方式。
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。