think php 登录 (session+验证码)
时间:2021-08-16
本文章向大家介绍think php 登录 (session+验证码),主要包括think php 登录 (session+验证码)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
、、、、、、、、、、表单页面
<!DOCTYPE html> {__NOLAYOUT__} <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>登录</title> <link rel="stylesheet" href="__STATIC__/admin/css/login.css"> </head> <body> <form action="/goods/login/save" method="post"> <div class="login"> <div class="center"> <h1>Login</h1> <div class="inputLi"> <strong>账户</strong> <input type="text" placeholder="账户" name="account"> </div> <div class="inputLi"> <strong>密码</strong> <input type="password" placeholder="密码" name="password"> </div> <div class="inputLi"> <strong>验证码</strong> <input type="text" placeholder="" name="cord"> <img src="{:captcha_src()}" name="img" onclick="this.src='{:captcha_src()}'" > </div> <div class="inputLi"> <button type="submit">登录</button> </div> </div> </div> </form> </body> </html>
、、、、、、、、、、、、、、控制器验证‘
public function create() { //goods/login/create //通过域名/模块名/控制器名/方法名访问登录页面 return view(); } /** * 保存新建的资源 * * @param \think\Request $request * @return \think\Response */ public function save(Request $request) { // $params = $request->param(); //验证参数、非空 $rule = [ 'account' => 'require', 'password' => 'require', 'cord' => 'require', ]; $tips = [ 'account.require' => '账号不可以为空', 'password.require' => '密码不可以为空', 'cord.require' => '验证码不可以为空', ]; $validate = new Validate($rule, $tips); $result = $validate->check($params); if (!$result) { $this->error($validate->getError()); } //数据库验证参数 $data = GoodModel::login($params); //验证账号 if ($params['account'] != $data['name']) { $this->error('账号错误', '/goods/login/create'); } //验证密码 if (md5($params['password']) != md5($data['password'])) { $this->error('密码错误', '/goods/login/create'); } //验证码进行验证 if (!captcha_check($params['cord'])) { $this->error('验证码输入错误', '/goods/login/create'); }; if ($data){ //记录session session('name',$data['name']); $this->success('登录成功', '/goods/goods/index'); } }
。。。。。。。。。。。。。。。。模型页面
<?php namespace app\goods\model; use think\Model; class GoodModel extends Model { // protected $table='login'; public static function login($params){ return self::where('name',$params['account'])->find(); } }
。。。。。。。。。。。。。。。。。。。。
’
原文地址:https://www.cnblogs.com/xiaoyantongxue/p/15149979.html
- 初学者需要注意的问题-变量的作用域
- 在 Go 语言中,正确的使用并发
- Injectify:一款执行MiTM攻击的工具
- 看我如何发现Google云平台漏洞并获得$7500赏金
- Go语言写Web 应用程序
- 小萝莉说Crash(一):Unrecognized selector sent to instance xxxx
- 游戏服务器之多线程发送(上)
- 游戏服务器之多线程发送(中)
- 游戏服务器之多线程发送(下)
- 【团队分享】手机QQ:升级iOS8.3后,发图就崩,为哪般?
- golang 字符串操作实例
- 【团队分享】刀锋铁骑:常见Android Native崩溃及错误原因
- OpenShift企业版安装:单Master集群
- http线程池的设计与实现(c++)
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- 目标检测器性能评估工具包
- istio 1.7发布
- AkShare-中国宏观-工业品出厂价格指数
- AkShare-中国宏观-采购经理人指数
- Python 为什么没有 void 关键字?
- 【特征提取+分类模型】4种常见的NLP实践思路
- 霸气!开源项目名字就叫BAT,具有语法高亮的Cat类命令
- 【Python基础系列】常见的数据预处理方法(附代码)
- 机器学习基础:类别不平衡问题处理方法汇总及实际案例解析
- 机器学习与统计学:R方代表什么?和P值的关系是什么?
- 机器学习基础:缺失值的处理技巧(附Python代码)
- 七夕限定,致程序员的专属浪漫
- 使用 Docker Multi-stage 高效构建镜像
- vue(typescript) 使用webpack-bundle-analyzer
- 2020年学习Python-爬取百度图片