第十三节 session函数

PHP零基础入门

session函数:维持应用程序中的状态,无论你向服务器发出什么请求,服务器是不会知道你是谁,它只在乎请求并返回请求。但应用程序和服务器不同,服务器清楚你是谁,它知道你何时启动应用程序,并在何时终止。但在因特网上的应用程序,服务器不知道你是谁以及你做什么,这是由于HTTP地址不能维持状态,所有这就为什么有像PHP这样的程序,维持PHP运行状态的称会话。

session函数-简单介绍

保持php运行状态的我们叫session,在php文件开头位置我们就要开启session,开始使用session,我们想要使用php文件的会话数据,什么是session数据,我们通常说是存储用户信息,如邮箱,session会消耗内存或存储空间,我们尽可能少开session。当我们需要使用到session存储信息的时候,我们就要在这个文件开启session_start(),一定要紧跟php开始标签之后:

用_POST超级全局数组传递密码

session函数-实例演示

第一步、inc/config.php文件设置链接数据库信息

程式解释

  1. 使用常量(const)设置特定的配置项特别有用;
  2. 常量语法:关键词const后面紧跟常量名称USER_NAME;
  3. USER_NAME和PASSWORD常量附特定值。

第二步、确认用户是否登录

1、在function.php文件编写authenticate_user()函数比较用户输入的电子邮箱和密码代码

程式解释

  1. authenticate_user()接收$email和$password的参数;
  2. 判断传进来的$email和$password与config.php的USER_NAME和PASSWORD的值相同;
  3. 相同返回真。

把上述代码if判断语句做以下改进,如果邮箱地址和密码对比正确就直接返回:

2、在login.php编写引入config.php文件代码

3、在login.php文件编写与config.php配置项数据进行比较代码

程式解释

  1. if语句;
  2. 条件是authenticate_user($email,$password)验证用户的信息;
  3. $_SESSION[’email’]=$email;设置用户会话,邮箱地址;
  4. 如果不是就输出你输入的电子邮箱不存在

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函数》完整代码

接近10年的互联网从业经验,精通Scrum敏捷软件开发的方法,从事互联网产品设计,开发,测试,运营,案例不少于20个,发现自己最喜欢的工作是做外贸营销,外贸SEO,特别喜欢谷歌优化。从2017年3月开始坚持在群161510483直播谷歌SEO和WEB前端开发技术,只要加进来坚持学习零基础也能够学会。

Last modified: 2019年3月23日

Previous Story

PHP零基础入门

PHP和MySQL:插入,读取和删除数据

PHP和MySQL:学习插入,读取,删除数据库数据的SQL语句,使用mysql语句插入,读取和删除数据,我们已经知道了描述表,创建表,显示数据库,从表格中删除.

...

Next Story

PHP零基础入门

第五节 PHP条件语句和做决定

PHP条件语句:编写代码时,我们经常会希望为不同的决定执行不同的动作,如果你需要用条件做决定,在开始学习这节课之前,首先把我们的代码组织一下.

...