• 首页
  • 前端
    • HTML
    • CSS
    • Javascript
    • XML
    • AJAX
  • 前端框架
    • BootStrap
    • Jquery
  • PHP
    • 语法
    • 核心
    • 面向对象
    • PHP7
    • Socket
    • Swoole
  • 数据库
    • Mysql
    • Redis
    • Memcache
    • MongoDB
  • 优化
    • 优化方案
    • 页面静态化
    • Nginx
  • 后台框架与实战
    • Smarty
    • 源码Blog
    • TP3.2
    • TP3.2商城
    • TP5.0
    • TP5.0商城
    • Laravel
    • Laravel在线教育平台
    • Yii
    • Yii手机直播
    • CodeIgniter
    • Yaf
  • 移动开发
    • 微信公众号
    • 混合APP
  • 二次开发
    • DedeCMS
  • Linux
    • 基本操作
    • 环境搭建
  • 版本控制
    • GIT
    • SVN
  • Node.js
  • 资料库
没有结果
查看所有结果
  • 首页
  • 前端
    • HTML
    • CSS
    • Javascript
    • XML
    • AJAX
  • 前端框架
    • BootStrap
    • Jquery
  • PHP
    • 语法
    • 核心
    • 面向对象
    • PHP7
    • Socket
    • Swoole
  • 数据库
    • Mysql
    • Redis
    • Memcache
    • MongoDB
  • 优化
    • 优化方案
    • 页面静态化
    • Nginx
  • 后台框架与实战
    • Smarty
    • 源码Blog
    • TP3.2
    • TP3.2商城
    • TP5.0
    • TP5.0商城
    • Laravel
    • Laravel在线教育平台
    • Yii
    • Yii手机直播
    • CodeIgniter
    • Yaf
  • 移动开发
    • 微信公众号
    • 混合APP
  • 二次开发
    • DedeCMS
  • Linux
    • 基本操作
    • 环境搭建
  • 版本控制
    • GIT
    • SVN
  • Node.js
  • 资料库
没有结果
查看所有结果
没有结果
查看所有结果

TP 3.2 (四)模型, 统计方法、连表查询、Session 机制、分类、验证码、电商后台

Mr.Lee 由 Mr.Lee
2018年6月9日
在 TP3.2, 后台框架
0
TP 3.2 (四)模型, 统计方法、连表查询、Session 机制、分类、验证码、电商后台
0
分享
0
浏览

TP中的模型(三)

1.1、AR模式

AR模式ActiveRecords模式的ORM模型,采用了非标准的ORM模型。模型对应数据表,对象对应数据行,属性对应数据字段。AR模式是采用面向对象思想(OOP)。对于此方式新的框架中都是采用的ORM模式

1.1.1、演示数据的写入

①创建测试方法

②访问查看写入数据

1.1.2、演示数据查询

①创建测试方法

②查看结果


③根据条件进行查询


1.2、TP中的统计方法



1.3、连表查询

1.3.1、inner join使用

①创建数据表并且写入测试数据

②连接查询

③查看效果

④使用field指定字段信息


1.3.1、left join 使用


1.4、原生sql语句

Query:执行查询的sql语句。返回结果集

Execute:执行写入(增加、修改、删除)的SQL语句。返回受影响行数

1.4.1、演示query方法使用


1.4.2、演示execute方法使用


1.5、TP中的事物

事物是mysql提供的一项功能。只针对innodb引擎的数据表。事物需要开启

事物处理方法:

startTrans:开启事物

Rollback:回滚事物

Commit:提交事物

①代码

②结果

TP中的cookie与session

2.1、cookie与session的区别

  1. cookie是存在客户端
  2. Session是存储在服务端
  3. Cookie保存的数据量有限
  4. session安全性更高
  5. session基于cookie之上的

2.2、session机制

2.3、TP中session使用

在TP中对于session的所有处理都通过使用session()函数进行处理。

在框架载入时session就已经启动


效果如下

设置session

获取session

删除session

再次查看session

2.4、cookie的使用


查看现有的cookie内容

设置cookie

再次查看结果

删除cookie

再次查看cookie中的内容

验证码

使用验证码一定注意PHP环境当中的gd库的扩展是否开启,并且需要注意到验证码功能是否能够正常使用

TP验证码源码位置:ThinkPHP\Library\Think\Verify.class.php

使用方式:直接实例化类对象调用方法即可

3.1、验证码基本使用

效果如下

3.2、查看验证码使用方式

①查看验证码类的属性配置

②查看构造方法的使用

③查看check方法

④查看生产验证码的方法

3.3、生产验证码并且校验

效果如下

生产验证码

比对验证码

数据分页

4.1、分页实现方式

  1. 计算总的记录数
  2. 设置每一页多少条数据
  3. 获取当前的页码
  4. 根据当前的页码获取对应的数据本质就是处理limit
  5. 计算出分页的导航信息

4.2、查看分页类的使用方式

关于分页类的源码地址:ThinkPHP\Library\Think\page.class.php

①查看配置信息

②构造方法

③查看show方法

4.3、使用分类

①创建方法

②处理模板

③效果如下

5、案例-电商后台登录

5.1、分析实现过程

  1. 创建控制器方法显示登录界面
  2. 需要显示出验证码
  3. 用户提交数据、接受并且比对(1、比对验证码2、比对用户名3、比对密码)
  4. 登录完成,保存用户的登录状态(session或者cookie)。需要跳转到后台首页
  5. 防止直接翻墙

5.2、显示登录到的界面

5.1.1、显示登录页

①创建控制器方法加载模板

②拷贝登录模板

③修改登录模板的资源地址

5.1.2、显示验证码

①修改模板使用验证码

②创建方法生成验证码

③修改模板引入jQuery

④对验证码绑定点击事件

5.3、实现登录对比

5.3.1、创建数据表

5.3.2、添加测试账户

①创建生成密码的函数

由于增加测试用户时不能确定密码。需要用代码生成密码。由于后期会经常使用该方式进行密码校验等处理。因此封装成为函数

③创建一个测试方法生成密码

④访问测试方法生成密码

⑤根据生产的密码写入测试账户

5.3.3、创建模型

①创建自定义的模型

②定义字段信息

③定义字段映射

④修改模板使用假名

⑤编写自动验证规则

5.3.4、控制器调用方法进行对比

①修改控制器login方法

②创建模型方法实现登录


5.3.5、控制翻墙

①在后台首页中的index方法进行判断

对于此方式,由于后台中除了登录之外。其他的都需要进行是否登录判断。此方式不合理。可以在创建一个公共控制器在构造方法中进行验证。对于除了登录控制器之外其他的控制器都继承公共控制器

②创建公共控制器

③修改Index控制器的继承关系

可能common控制器中有很多公共方法,对于登录有可能会使用到。需要修改login继承common控制器。但是直接继承会出现故障

④修改Login控制器的继承关系

⑤修改公共\\

5.4、实现退出登录

①修改模板连接地址

②创建退出的方法

标签: Session 机制分类模型电商后台统计方法连表查询验证码
上一篇文章

TP3.2商城 (一)项目开发流程、商品分类、商品管理、图片上传

下一篇文章

TP 3.2 (三)字段缓存、自动验证、字段映射、连贯操作、Trace 工具

下一篇文章
TP 3.2 (四)模型, 统计方法、连表查询、Session 机制、分类、验证码、电商后台

TP 3.2 (三)字段缓存、自动验证、字段映射、连贯操作、Trace 工具

发表回复 取消回复

您的邮箱地址不会被公开。 必填项已用 * 标注

Search

没有结果
查看所有结果

About Me

个人随笔

Winston Lee

Programmer

Hello & welcome to my blog! My name is Winston Lee and am a programmer and am keen on sharing.

Winston Lee

About Me

Hello & welcome to my blog! My name is Winston Lee and am a programmer and am keen on sharing.

Categories

  • AJAX
  • BootStrap
  • CodeIgniter
  • CSS
  • DedeCMS
  • GIT
  • HTML
  • Javascript
  • Jquery
  • Laravel
  • Laravel在线教育平台
  • Linux
  • Memcache
  • MongoDB
  • MVC
  • Mysql
  • Nginx
  • Node
  • PDO
  • PHP
  • PHP7
  • PHP基本语法
  • PHP核心编程
  • Redis
  • Smarty
  • Socket
  • SVN
  • Swoole
  • TP3.2
  • TP3.2商城
  • TP5.0
  • TP5.0商城
  • XML
  • Yaf
  • Yii
  • Yii手机直播
  • 二次开发
  • 优化方案
  • 前端技术
  • 前端框架
  • 后台框架
  • 基本操作
  • 微信公众号
  • 数据库
  • 未分类
  • 混合APP
  • 源码Blog项目
  • 版本控制
  • 环境搭建
  • 移动端开发
  • 网站优化
  • 资料
  • 面向对象
  • 面向对象编程
  • 页面静态化

Tags

DOM Json RBAC 事件 传参 函数 分页 判断语句 匿名函数 变量 图片上传 存储过程 安装 对象 封装 属性 接口 控制器 数据库操作 数据类型 数据表 数组 文件上传 无刷新分页 权限 标签 模型 正则 流程控制 目录结构 算法 类 索引 继承 缩略图 表关系 视图 路由 运算符 选择器 递归 配置 错误处理 页面静态化 验证码
  • 首页
  • 前端
  • 前端框架
  • PHP
  • 数据库
  • 优化
  • 后台框架与实战
  • 移动开发
  • 二次开发
  • Linux
  • 版本控制
  • Node.js
  • 资料库

沪公网安备31011502400873 | 沪ICP备2024050435号-3

没有结果
查看所有结果
  • 首页
  • 前端
    • HTML
    • CSS
    • Javascript
    • XML
    • AJAX
  • 前端框架
    • BootStrap
    • Jquery
  • PHP
    • 语法
    • 核心
    • 面向对象
    • PHP7
    • Socket
    • Swoole
  • 数据库
    • Mysql
    • Redis
    • Memcache
    • MongoDB
  • 优化
    • 优化方案
    • 页面静态化
    • Nginx
  • 后台框架与实战
    • Smarty
    • 源码Blog
    • TP3.2
    • TP3.2商城
    • TP5.0
    • TP5.0商城
    • Laravel
    • Laravel在线教育平台
    • Yii
    • Yii手机直播
    • CodeIgniter
    • Yaf
  • 移动开发
    • 微信公众号
    • 混合APP
  • 二次开发
    • DedeCMS
  • Linux
    • 基本操作
    • 环境搭建
  • 版本控制
    • GIT
    • SVN
  • Node.js
  • 资料库

沪公网安备31011502400873 | 沪ICP备2024050435号-3