|
当您运行一个应用程序时,您会打开它,做些更改,然后关闭它。这很像一次会话。计算机清楚你是谁。它知道你何时启动应用程序,并在何时终止。但是在因特网上,存在一个问题:服务器不知道你是谁以及你做什么,这是由于 HTTP 地址不能维持状态。 通过在服务器上存储用户信息以便随后使用,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
在您把用户信息存储到 PHP session 中之前,首先必须启动会话。 注释:session_start() 函数必须位于 标签之前:
代码如下:
存储 Session 变量
代码如下:session_start(); // store session data $_SESSION['views']=1; ?>
//retrieve session data echo "Pageviews=". $_SESSION['views']; ?>
[html]
终结 Session unset() 函数用于释放指定的 session 变量:
[code] unset($_SESSION['views']); ?>
您也可以通过 session_destroy() 函数彻底终结 session:
代码如下:session_destroy(); ?>
实例:
代码如下: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; } ?>
假定本页名为temp.php
我总结了一下php中session的用法。
(一)开始session 在每一次使用session之前,都要加上这一句:“session_start();”。顾名思义,这个函数的作用就是开始使用session。 (二)注册session 首先要建立一个global(注意,一定要定义为global,不然在其它页面用不了)数组,如$login,其中$login['name']="Victor",$login['pwd']="111111",然后调用函数“session_register(login);”,session就成功注册了。 (三)使用session里面的变量 和注册session类似,都要先建立一个global数组,然后就和使用一般数组一样了。 (四)判断session是否注册 很简单,用“if (session_is_registered(login))”判断就可以了。 (五)卸载session 也很简单,“session_unregister(login);”就可以了。 注意:在进行(二)(三)(四)(五)之前一定要先进行(一)。
下面给出一个例子:
index.htm
代码如下:
测试
login.php
代码如下:global $login; if ($_POST['name']!="Victor" || $_POST['pwd']!="111111") { echo "登陆失败"; echo "请返回"; exit; } $login = array('name'=>$_POST['name'], 'pwd'=>$_POST['pwd']); session_start(); session_register(login); echo "查看信息 "; echo "退出登陆 "; ?>
info.php
代码如下:session_start(); if (session_is_registered(login)) { global $login; echo "hello,".$login['name']." "; echo "退出登陆 "; } else { echo "非法操作 "; exit; } ?>
logout.php
代码如下:session_start(); session_unregister(login); header("location:index.htm"); ?>
(编辑:安卓应用网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|