使用tp5写登录验证及修改密码

使用到的工具

1,thinkphp5.0自带的验证码: think-captcha

 可查看:  https://www.kancloud.cn/manual/thinkphp5/154295

2,前台页面框架: layui

3,引用到的文件: jquery.min.js   layui.css

 

登录样式最终图形

 

登录的html

<body style="background:#f2f2f2">
<div class="login-div"><h1 class="login-title">集团后台登录</h1><div class="web_login"><form class="layui-form" onsubmit="return to_login()"><div class="layui-form-item layui-center"><label class="layui-form-label">用户名</label><div class="layui-input-inline"><input type="text" name="admin_name" class="layui-input"/></div></div><div class="layui-form-item"><label class="layui-form-label">密码</label><div class="layui-input-inline"><input type="password" name="password" class="layui-input"/></div></div><div class="layui-form-item"><label class="layui-form-label">验证码</label><div class="layui-input-inline"><input style="width:80px;float:left" type="text" name="captcha" class="layui-input"/><img id="captcha" style="width:100px;height:40px;display: inline-block;float:right;"src="{:captcha_src()}" alt="captcha" onclick="this.src='{:captcha_src()}'"/></div></div><div class="layui-form-item"><div class="layui-center"><input type="submit" value="登 录" class="layui-btn login-button"/></div></div></form></div>
</div>
</body>
</html>
<script>//layui模块的使用layui.use(['layer'], function () {var layer = layui.layer,$ = layui.jquery;});
</script>
<script>function to_login() {$.ajax({type: 'POST',url: '/group_check',dataType: 'json',data: $("form").serialize(),//data:{aa:'aaa'},success: function (e) {layer.msg(e.error_msg);if (e == 'jr') {// layer.msg('请求成功');window.location.href = "/index";} else {layer.msg(e);$("#captcha").click();  //验证码输入错误的时候点击刷新}}});return false;}
</script>
   

登录控制器代码

 public function login(){if (Request::instance()->isPost()) { //判断是否是是否为 POST 请求$data = input('post.');
//            {admin_name: "admin", password: "123456", captcha: "m4r"}$username = $data['admin_name'];$password = md5($data['password']);$captcha = $data['captcha'];//调用验证器$validate = Loader::validate('Login');$data = ['username' => $username, 'password' => $password, 'captcha' => $captcha];//验证是否符合验证器里定义(验证码)的规范,不符合返回错误信息if (!$validate->check($data)) {return json($validate->getError());}//查询数据试库$where['admin_name'] = $username;$where['status'] = 1;$userInfo = Db::name('admin')->where($where)->find();if ($userInfo && $userInfo['password'] === $password) {
//                登录成功写入sessionSession::set('admin_id', $userInfo['id']);Session::set('admin_name', $userInfo['admin_name']);return json('jr');} else {return json('用户名或密码错误!');}} else {return $this->fetch('login');}}

 

 

验证器

class LoginValidate extends validate
{// 验证规则protected $rule = ['username|用户名' => 'require','password' => 'require','captcha' => 'require|checkCaptcha:null',];protected $message = ['captcha.require' => '验证码错误!',  //验证码空的时候验证的它];protected function checkCaptcha($value)  //验证码输入的进验证的它{$captcha = new Captcha();if ($captcha->check($value)) {return true;} else {return '验证码错误!';}}
}

 

 

修改密码

html

<div class="page-concent-div"><div class="layui-tab-content"><div class="layui-tab-item layui-show"><form class="layui-form form-container" action="{:url('password/passwordedit')}" method="post"><div class="layui-form-item"><label class="layui-form-label">原密码</label><div class="layui-input-block"><input type="password" name="password_origin" required  lay-verify="required" placeholder="请输入原密码" class="layui-input" style="width:250px;"></div></div><div class="layui-form-item"><label class="layui-form-label">密码</label><div class="layui-input-block"><input type="password" name="password" required  lay-verify="required" placeholder="请输入密码" class="layui-input" style="width:250px;"></div></div><div class="layui-form-item"><label class="layui-form-label">再次输入</label><div class="layui-input-block"><input type="password" name="password_again" required lay-verify="required" placeholder="请再次输入密码" class="layui-input" style="width:250px;"></div></div><div class="layui-form-item"><div class="layui-input-block"><button class="layui-btn" lay-submit lay-filter="*">保存</button><button type="reset" class="layui-btn layui-btn-primary">重置</button></div></div></form></div></div></div>

 

后台代码

class PasswordController extends BaseController
{public function passwordedit(){$admin_id = Session::get('admin_id');$data = input('post.');$admin = new AdminModel();$admin_info = $admin->where('id', $admin_id)->find();if ($data) {if ((md5($data['password_origin'])) == $admin_info['password']) {if ($data['password'] == $data['password_again']) {$md5_password = md5($data['password']);$result = AdminModel::where('id', $admin_id)->update(['password' => $md5_password]);if ($result) {return $this->success('修改成功啦!');} else {return $this->error('修改失败');}} else {return $this->error('再次输入不一致!');}} else {return $this->error('原密码输入错误!');}}return view();}
}

 

 

session失效后从新加载页面

 exit('<script language="JavaScript">top.location.href="'.域名.'?s=/tous_login"</script>');

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/56421.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于MATLAB的隐函数偏导与多重积分(附代码)

一. 隐函数的偏导数 给定隐函数&#xff1a; 隐函数的偏导可得&#xff1a; MATLAB格式&#xff1a; F-diff(f,xj)/diff(f,xi) 例题1 已知&#xff1a; 求&#xff1a; 解&#xff1a; MATLAB代码&#xff1a; clc;clear; syms x y; f(x^2-2*x)*exp(-x^2-y^2-x*y); prett…

Wolfram Alpha 算微积分指令集合

一、Wolfram Alpha介绍 Wolfram Alpha网址&#xff1a;https://www.wolframalpha.com/ WolframAlpha是开发计算数学应用软件的沃尔夫勒姆研究公司开发出的新一代的搜索引擎&#xff0c;能根据问题直接给出答案的网站&#xff0c;用户在搜索框键入需要查询的问题后&#xff0c…

利用MATLAB求符号微积分

文章目录 摘要1 符号函数的极限&#xff08;1&#xff09;极限&#xff08;2&#xff09;单边极限 2 符号函数的导数3 符号函数的积分&#xff08;1&#xff09;不定积分&#xff08;2&#xff09;定积分 结语 摘要 本文是《科学计算与MATLAB语言》专题七第2小节的学习笔记&am…

高等数值计算方法学习笔记第4章第一部分【数值积分(数值微分)】

高等数值计算方法学习笔记第4章第一部分【数值积分&#xff08;数值微分&#xff09;】 一、数值积分概论1.数值求积的基本思想(牛-莱公式找不到原函数&#xff0c;用矩形近似)2.代数精度的概念1.上述四个公式的代数精度&#xff08;梯形&#xff0c;左中右矩形公式&#xff09…

真的能从脑电信号识别出我的情绪吗?

关注“心仪脑”查看更多脑科学知识的分享。 提到情绪&#xff0c;我们脑海中可能会浮现出各种各样的场景&#xff0c;可能是“哭着&#xff0c;叫着&#xff0c;像个孩子在胡闹”的悲痛。 &#xff08;图片来源于网络&#xff09; 抑或是《Lie to me》中Cal Lightman深邃的一双…

读取大脑计算机软件,专访脑机接口专家Jose:读取大脑信息已成现实

腾讯科技 韩依民 11月7日报道 《生活大爆炸》中有一个经典的搞笑桥段&#xff1a;谢耳朵手摁太阳穴&#xff0c;幻想通过脑电波攻击室友。这一举动因荒诞不羁而产生喜剧效果&#xff0c;但是一种新的科学技术正在让谢耳朵的幻想部分变成现实。 利用捕捉器将人们脑子里进行的活动…

脑机接口猴子通过“意念”打游戏!马斯克:未来能让瘫痪者用意念玩手机

来源&#xff1a;新智元 它是Pager&#xff0c;一只9岁的恒河猴&#xff0c;来自Neuralink&#xff0c;最近它刚刚get了新技能——用意念玩乒乓球游戏。 6个星期前&#xff0c;Pager的脑袋里被植入了两个叫N1 Link的装置&#xff0c;工作人员用香蕉奶昔诱惑它玩游戏&#xff0c…

证明人脑细胞在体外也有感知,「盘中之脑」论文正式登Cell子刊

詹士 发自 凹非寺量子位 | 公众号 QbitAI 这有一个放在盘中的「大脑」&#xff0c;它以为自己是游戏角色&#xff0c;其活着的意义就是完成游戏任务。 有「黑客帝国」内味儿了&#xff1f;&#xff1f;&#xff1f; 现实中&#xff0c;这个盘中大脑有人做出来了&#xff0c;命名…

Hinton 最新访谈:不出五年,我们就会破解大脑的运作机制,但不是通过反向传播...

点击上方“视学算法”&#xff0c;选择加"星标"或“置顶” 重磅干货&#xff0c;第一时间送达 整理丨李梅、黄楠 来源丨AI科技评论 编辑丨极市平台 导读 过去十年&#xff0c;AI 在计算机视觉、语音识别、机器翻译、机器人、医学、计算生物学、蛋白质折叠预测等等领…

ChatGPT时代,如何训练大脑,以后不会被人工智能取代

当有一天&#xff0c;你的小孩子问我将来会不会被AI代替的时候&#xff0c;为人父母的我们应该怎么回答小孩子的问题呢&#xff1f;不知各位是否刷到一位名为浅爸谈英语的博主爸爸分享与他女儿关于AI对话的视频。 这段对话很有启发性&#xff0c;父亲的回答也很中肯。可以通过…

脑机接口照进现实:5位脑科学家带来的最新启示

大脑复杂、神秘&#xff0c;研究大脑被认为是人类终极的探索之一。作为最为复杂的科学探索领域&#xff0c;大脑的研究既令人着迷&#xff0c;也同样令人望而生畏。 脑机接口技术会使人类退化吗&#xff1f;一旦脑机接口技术得到应用&#xff0c;人类的自由意志会被他人操纵吗&…

马斯克脑机接口、BrainOS 相继发布,未来已来?

作者 | 马超 责编 | Carol 封图 | CSDN 下载自视觉中国 在北京时间的8月29日凌晨&#xff0c;钢铁侠埃隆马斯克投资1亿多美元的脑机接口初创公司公司Neuralink进行现场发布会&#xff0c;展示新一代的脑机接口设备。 这场发布会的热度可以和苹果iPhone4发布会相媲美&#xff0c…

脑科学真的可以启发AI吗?

智源导读&#xff1a;人工智能发展到当前阶段&#xff0c;大家都开始认识到脑科学和人工智能有很密切的关系&#xff0c;脑科学会对人工智能的发展产生很大帮助。反过来思考这个问题&#xff0c;脑科学对人工智能研究真的有帮助吗&#xff1f;离开脑科学之后&#xff0c;人工智…

Google员工说出了我不敢说的心里话!

前言&#xff1a;本文来自Beyond的投稿&#xff0c;码农翻身做了修改。 今天在Medium上看到一篇文章《The maze is in the mouse》&#xff0c;是一个刚从Google离职的员工写的&#xff0c;揭开了Google内部的各种问题&#xff0c;引发了很多人的共鸣&#xff0c;到目前为止&am…

RepVGG论文详解(结合代码)

目录 1.简介 2.RepVGG详情 2.1 RepVGG Block 2.2 结构重参数化 2.2.1融合Conv2d和BN&#xff0c;将三个分支上的卷积算子和BN算子都转化为卷积算子&#xff08;包括卷积核和偏置&#xff09; 2.2.2 将每个分支都扩充为一个3x3卷积核加一个偏置&#xff0c;然后进行相加融合…

MySQL如何支撑每秒百万QPS?

【编者按】本文主要介绍 PlanetScale 是如何通过 MySQL 的水平分片支撑每秒一百万个查询&#xff08;QPS&#xff09;的。 原文链接&#xff1a;https://planetscale.com/media/one-million-queries-per-second-with-mysql 未经允许&#xff0c;禁止转载&#xff01; 作者 | Jo…

用银联借记卡通过paypal支付美金

起了一个非常拗口的标题&#xff0c;意思是我要用关联了国内银联借记卡的paypal账户给国外网站支付费用&#xff0c;我直接在线就可以实现支付&#xff0c;不需要充值(paypal实际上是有充值付费这个流程的&#xff0c;只是我们没有感觉到)等一系列操作&#xff0c;也是非常的方…

B2B电商平台--ChinaPay银联电子支付功能

一、概念简介 理解什么是UnionPay、ChinaPay 这两个概念如果搞不清楚&#xff0c;绝对够你瞎折腾一段时间的。讲真&#xff0c;拿到这个改换ChinaPay银联支付需求时&#xff0c;我还以为产品经理给错我们官网地址了。 1、UnionPay 中国银联&#xff0c;最大的机构&#xff…

线上支付之----网关支付、银联代扣通道、快捷支付、银行卡支付等网上常见支付方式接口说明!!

一、网关支付这是在线支付的最普遍形式。大致支付过程&#xff1a;第三方支付公司作为代理&#xff08;网关&#xff09;&#xff0c;接入一堆银行。用户在网关页面&#xff08;可以在商户端&#xff0c;也可以第三方支付平台端&#xff09;选择银行&#xff0c;页面跳转到第三…

支付宝和银联 充值和支付流程(后台)

最近做了支付&#xff0c;现在把后台支付的流程记录下来&#xff0c;方便以后查找。 这里面充值是用的支付宝&#xff0c;而支付是银联和支付宝都用到了&#xff0c;只记录业务逻辑。支付的时候&#xff0c;由于系统本身是有自己的账户体系的&#xff0c;所以有可能会设计一半余…