session函数:维持应用程序中的状态,无论你向服务器发出什么请求,服务器是不会知道你是谁,它只在乎请求并返回请求。但应用程序和服务器不同,服务器清楚你是谁,它知道你何时启动应用程序,并在何时终止。但在因特网上的应用程序,服务器不知道你是谁以及你做什么,这是由于HTTP地址不能维持状态,所有这就为什么有像PHP这样的程序,维持PHP运行状态的称会话。
session函数-简单介绍
保持php运行状态的我们叫session,在php文件开头位置我们就要开启session,开始使用session,我们想要使用php文件的会话数据,什么是session数据,我们通常说是存储用户信息,如邮箱,session会消耗内存或存储空间,我们尽可能少开session。当我们需要使用到session存储信息的时候,我们就要在这个文件开启session_start(),一定要紧跟php开始标签之后:
用_POST超级全局数组传递密码
session函数-实例演示
第一步、inc/config.php文件设置链接数据库信息
程式解释
- 使用常量(const)设置特定的配置项特别有用;
- 常量语法:关键词const后面紧跟常量名称USER_NAME;
- USER_NAME和PASSWORD常量附特定值。
第二步、确认用户是否登录
1、在function.php文件编写authenticate_user()函数比较用户输入的电子邮箱和密码代码
程式解释
- authenticate_user()接收$email和$password的参数;
- 判断传进来的$email和$password与config.php的USER_NAME和PASSWORD的值相同;
- 相同返回真。
把上述代码if判断语句做以下改进,如果邮箱地址和密码对比正确就直接返回:
2、在login.php编写引入config.php文件代码
3、在login.php文件编写与config.php配置项数据进行比较代码
程式解释
- if语句;
- 条件是authenticate_user($email,$password)验证用户的信息;
- $_SESSION[’email’]=$email;设置用户会话,邮箱地址;
- 如果不是就输出你输入的电子邮箱不存在。
4、在login.php的authenticate_user($email,$password)函数编写通过验证后重定向到admin页面代码
第一种方法:使用header()函数发送原生HTTP头
第二种方法:编写redirect()函数实现重定向
不要担心session会泄漏。
第五步、确保用户已通过身份验证
1、在admin.php文件使用ensure_user_is_authenticated()函数检查用户是否登录
2、在inc/functions.php文件编写ensure_user_is_authenticated()和is_user_authenticated()函数代码
检查用户email是否验证的is_user_authenticated()函数
如果用户验证没有通过验证则跳转到login.php的ensure_user_is_authenticated()函数代码
第七步、回到ensure_user_is_authenticated函数设置die()
第八步、创建logout.php并编写注销代码
第九步、退出登陆访问http://YOUR.URL/logout.php
转载请注明:林雍岷 » 第十三节 session函数