PHP Session函数及用法

其实我就是把手册抄一下,然后每个都试试然后写出来,方便自己查阅滴,谁让咱刚学呢。Session大概有12个函数分别是:

session_start: 初始 session。
session_destroy: 结束 session。
session_unset: 释放session内存。
session_name: 存取目前 session 名称。
session_module_name: 存取目前 session 模块。
session_save_path: 存取目前 session 路径。
session_id: 存取目前 session 代号。
session_register: 注册新的变量。
session_unregister: 删除已注册变量。
session_is_registered: 检查变量是否注册。
session_decode: Session 资料解码。
session_encode: Session 资料编码。
还有个全局变量就是:$_SESSION


我暂时不考虑版本问题,需要这方面信息的请查看这里http://www.phpv.net/html/292.html


1.session_start()
这个函数主要用来开始操作session的必要语句,必须在最前(如果有html必须在html最前,因为它也是启动之前不能有任何输出),如果当前客户已经有session的写入,就连接上这个原有的。


2.session_destroy()
这个函数用来删除当前用户对应的session文件以及释放session id,内存中的$_SESSION变量内容依然保留。如果需要彻底终结session请先运行下面的函数然后运行这个。


3.session_unset()
这个函数可以释放当前在内存中已经创建的所有$_SESSION变量,但不删除session文件以及不释放对应的session id,配合上面的函数session_destroy()可以彻底终结session。


4.session_name(string [name])

可以获取或配置session_name,也就是当前session的名称。

session_name(“xuandun”);
echo “现在是:”.session_name();

5.session_module_name(string [module])

本函数可取得或者重新配置目前 Session 的模块。若无参数 module 则表示只获取目前 Session 的模块,加上参数则表示将 Session 模块设为参数 module。


6.session_save_path(string [path])
本函数可取得或者重新配置目前存放 Session 的路径。若无参数 path 则表示只有取得目前 Session 的路径目录名,加上参数 path 则表示将 Session 存在新的 path 上。(保证目录存在并且注意权限)


7.string session_id(string [id])
本函数可取得或者重新配置目前存放 Session 的代号。若无参数 id 则表示只有取得目前 Session 的代号,加上参数则表示将 Session 代号设成新指定的 id。输入及返回均为字符串。


8.session_register(string name)
本函数在全域变量中增加一个变量到目前的 Session 之中。参数 name 即为欲加入的变量名。


9.session_unregister(string name)
本函数在目前的 Session 之中删除全域变量上的变量。参数 name 即为欲删除的变量名。


10.session_is_registered(string name)
本函数可检查目前的 Session 之中是否已有指定的变量注册。参数 name 即为欲检查的变量名。


11.session_decode(string data)
本函数可将 Session 资料解码。参数 data 即为欲解码的资料。成功则返回 true 值。


12.session_encode(void)
本函数可将 Session 资料编码,编码以 ZEND 引擎做哈稀编码。本函数没有参数。成功则返回 true 值


13.$_SESSION
获取储存的session值例如$_SESSION['userid']


因为我也不是很懂,从3项以后我都没实际用到过。下面我简单写个例子来实现简单的session验证

<?php
session_start();
switch ( $_GET['action'] ){
case "loginif";
//登陆验证,假定session储存的秘密应该等于123才为正确
if ($_SESSION['pass']=="123"){echo "密码正确 您可以执行注销";}else{echo "密码错误,您可以重新登陆";}
break;
case "logout";
//注销登陆
session_unset();
session_destroy();
echo "注销成功!可以判断一下密码是否正确来看看是不是成功注销";
break;
case "login";
//写入session以供验证,
$pass="123";//密码
$_SESSION['pass']=$pass;
echo "写入登陆密码了 去判断密码成功与否吧。";
break;
}
?>


新建一个脚本:

<p>假定本页名为temp.php </p>
<p><a href="temp.php?action=login">用户进行登陆post,程序处理写入session</a></p>
<p><a href="temp.php?action=loginif">判断用户密码是否正确</a></p>
<p><a href="temp.php?action=logout">登陆成功的用户注销登陆</a></p>

原文地址:点击打开链接

你可能感兴趣的:(PHP,网络相关)