前言
从这里就要涉及到数据库了,比较重要。
逻辑大致是这样的。
生成数据->将生成的数据存到数据库->用户在前端输入数据->前端验证->将此数据与后端存放的数据进行匹配
图片验证码
- 生成数据
1.首先在app\目录下新建Tool文件夹再在Tool下新建Vaildate文件夹,再在Validate下新建ValidateCode.php然后在网上查找生成图片验证码的代码将代码放到Vaildate.php下
注意命名空间,主要类名要和文件名一致。如图
2.在app\Http\Controllers\下新建Service文件夹,在Service下新建ValidateCodeController.php 文件
代码如下
<?php
namespace App\Http\Controllers\Service;
use App\Http\Controllers\Controller;
use App\Tool\Validate\ValidateCode;
use Illuminate\Http\Request;
class ValidateCodeController extends Controller
{
//图片验证码
public function create(Request $request){
$validateCode = new validateCode;
$request->session()->put('validate_code', $validateCode->getCode());//将验证码保存到session中
return $validateCode->doimg();
}
}
3.在app\Http\routes.php中为生成图片验证码的函数添加路由。
代码如下
Route::group(['prefix' => 'service'], function () {
Route::get('validatecode/', 'Service\ValidateCodeController@create');
});
4.现在就可以在前端看到生成的图片验证码了。注意下面两处你是否相同
数据库方面
这里好像不需要,这里是把图片验证码存放到session中,然后从session中提取验证。验证数据
验证数据先从session中提取然后进行和输入的数据进行匹配,由于只是一个判断语句放在其他函数中的这里我只把对应的代码贴出来。大家理解就行 后面还会提
//判断
//验证码判断
$validate_code_session = $request->session()->get('validate_code','');
if($validate_code_session != $validate_code) {
$m3_result->status = 1;
$m3_result->message = '验证码不正确';
return $m3_result->toJson();
}