【php开发工程师系统性教学】——Laravel框架(验证码)的配置和使用的保姆式教程

embedded/2024/12/22 22:12:05/

在这里插入图片描述


👨‍💻个人主页:@开发者-曼亿点

👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅!

👨‍💻 本文由 曼亿点 原创

👨‍💻 收录于专栏:PHP程序开发

🅰

请添加图片描述


文章目录

    • 🅰
    • 前言
    • 🎶一、验证码依赖的安装与配置
      • (1)packagist网站搜索验证码的代码依赖
      • (2)配置依赖包
      • (3)修改文件
    • 🎶二、验证码的实现案例
      • (1)案例:在之前的自动验证的基础之上,实现验证码的显示
      • (2)验证码和自动验证的blade.php代码:
      • (3)自动验证的TestController.php代码:
      • (4)展示效果:
        • 结束语🥇


前言

生成验证码需要经过:画画布、生成干扰线、生成噪点、生成验证码、生成验证码存放在session、输入图片。


🎶一、验证码依赖的安装与配置


(1)packagist网站搜索验证码的代码依赖

关键词时captcha
在这里插入图片描述
地址:https://packagist.org/packages/mews/captcha
环境要求:php>=7.2,需要开启GD库,同时需要开启fileinfo和mbstring扩展
在这里插入图片描述

(2)配置依赖包

composer方法安装代码的依赖包:composer require mews/captcha

在这里插入图片描述
在这里插入图片描述

(3)修改文件

修改配置文件:config/app.php
配置:配置provider信息,添加1一行信息:
在这里插入图片描述
配置别名aliases键,添加一个别名记录
在这里插入图片描述

如果(可选)需要定义自己的配置,则需要生成配置文件:

php artisan vendor:publish
发布之后会在config目录下找到对应的配置文件:

在这里插入图片描述


🎶二、验证码的实现案例


(1)案例:在之前的自动验证的基础之上,实现验证码的显示

在这里插入图片描述
①需要在页面上显示出来
添加验证码图片的路径
在这里插入图片描述

php_69">(2)验证码和自动验证的blade.php代码:

<!DOCTYPE html>
<html lang="en">
<head>    <meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><link rel="stylesheet" href="css/weui.css"/><meta name="viewport" content="width=device-width, initial-scale=1.0">{{-- 系统的asset方法引入 --}}<link rel="stylesheet" type="test/css" href="{{asset('css')}}/app.css"><title>实战训练</title>
</head>
<body>@if ($errors->any())<div class="alert alert-danger"><ul>@foreach ($errors->all() as $error)<li>{{ $error }}</li>@endforeach</ul></div>
@endif<form method="post" action="">
<p>姓名:<input type="text" name='name' value="" ></p>
<p>年龄:<input type="text" name='age' value="" ></p>
<p>邮箱:<input type="text" name='email' value="" ></p>
{{ csrf_field() }}<input type="submit" value="提交">
</form>
</body>
</html>

php_102">(3)自动验证的TestController.php代码:

public function zdyz(Request $request){if($request->post()){$this->validate($request,['name' => 'required|min:1|max:3','age' => 'required|integer|min:1|max:100','email' =>'required|email',]);}else{//展示一个视图return view("/home/zdyz");}    
}

在这里插入图片描述

(4)展示效果:

在这里插入图片描述
②验证码验证操作:

public function zdyz(Request $request){if($request->post()){$this->validate($request,['name' => 'required|min:1|max:3','age' => 'required|integer|min:1|max:100','email' =>'required|email','captcha'=>'required|captcha']);}else{//展示一个视图return view("/home/zdyz");}    
}

在这里插入图片描述
注意·:验证码有效验证规则,手册里是没有的,如果使用mews验证包的话,其验证码验证规则就是captcha
效果展示图:
在这里插入图片描述

结束语🥇

以上就是PHP程序设计
持续更新PHP程序设计教程,欢迎大家订阅系列专栏🔥PHP程序开发你们的支持就是曼亿点创作的动力💖💖💖
请添加图片描述


http://www.ppmy.cn/embedded/6446.html

相关文章

微服务架构与Dubbo

一、微服务架构 微服务架构是一种架构概念&#xff0c;旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦。 分布式系统式若干独立系统的集合&#xff0c;但是用户使用起来好像是在使用一套系统。 和微服务对应的是单体式开发&#xff0c;即所有的功能打包在一个WAR…

创建一个javascript公共方法的npm包,js-tool-big-box,发布到npm上,一劳永逸

前端javascript的公共方法太多了&#xff0c;时间日期的&#xff0c;数值的&#xff0c;字符串的&#xff0c;搞复制的&#xff0c;搞网络请求的&#xff0c;搞数据转换的&#xff0c;几乎就是每个新项目&#xff0c;有的拷一拷&#xff0c;没有的继续写&#xff0c;放个utils目…

C++基础——多态

多态是面向对象编程的特性之一 在C中多态就是用同个函数调用同个内容 多态的分类&#xff1a; 分为静态多态和动态多态 静态多态性(编译时的多态性) 通过函数和运算符重载实现的 编译时确定执行哪一个同名函数调用速度快、效率高&#xff0c;缺乏灵活性口 静态多态的函数…

CoFSM基于共现尺度空间的多模态遥感图像匹配方法--论文阅读记录

目录 论文 Multi-Modal Remote Sensing Image Matching Considering Co-Occurrence Filter 参考论文&#xff1a;SIFT系列论文&#xff0c; SIFT Distinctive Image Features from Scale-Invariant Keypoints&#xff0c;作者&#xff1a;David G. Lowe 快速样本共识算法…

React-hooks:useReducer

useReducer 文档地址 useReducer 是一个 React Hook&#xff0c;它允许你向组件里面添加一个 reducer。 对于拥有许多状态更新逻辑的组件来说&#xff0c;过于分散的事件处理程序可能会令人不知所措。对于这种情况&#xff0c;你可以将组件的所有状态更新逻辑整合到一个外部函…

Go 语言中的 GIF 图像处理完全指南:`image/gif`的技术与实践

Go 语言中的 GIF 图像处理完全指南&#xff1a;image/gif的技术与实践 概述安装与基础设置导入 image/gif 包初步配置示例&#xff1a;设置一个简单的 GIF 编码环境 读取与解码 GIF 图像读取 GIF 文件解析 GIF 数据 创建与编码 GIF 图像创建 GIF 图像编码 GIF 图像 处理 GIF 动…

边缘计算、联邦学习、语义通信、知识蒸馏等,这些在科研方面有什么联系?

在科研领域中&#xff0c;边缘计算、联邦学习、语义通信和知识蒸馏等概念之间存在一定的联系和交叉点。这些概念通常在人工智能、机器学习、计算机视觉等领域中被广泛讨论和应用。 1. **边缘计算**&#xff1a;边缘计算是一种分布式计算架构&#xff0c;旨在将数据处理和存储功…

第3章 决策树

决策树经常处理分类问题&#xff0c;近来的调查表明决策树也是经常使用的数据挖掘算法。 决策树的流程图&#xff1a; 长方形代表判断模块(decision block)&#xff0c;椭圆形代表中止模块(terminating block),表示已经得出结论&#xff0c;可以中止运行。 从判断模块引出左右箭…