一、在框架根目錄下下載圖形驗證碼的組件
composer require gregwar/captcha=1.*
二、控制器代碼
use Gregwar\Captcha\CaptchaBuilder;//使用 public function admin_log()//生成驗證碼且展示的方法 { $builder = new CaptchaBuilder; $builder->build(); $code = $builder->inline(); //獲取圖形驗證碼的url session()->put('piccode', $builder->getPhrase()); //將圖形驗證碼的值寫入到session中 return view('Bigone/admin_log',['code'=>$code]); }
三、視圖代碼
<tr>
<td>驗證碼</td>
<td><input name="captcha" type="text" placeholder="請輸入驗證碼"></td>
<td><img src="{{$code}}" height="36" width="80"></td>
</tr>
四、驗證
public function admin_login(Request $request) { $data = $request->all(); $captcha = $data['captcha']; $code = session()->get('piccode'); if($captcha == '') { echo "<script>alert('請輸入驗證碼!');</script>"; return $this->admin_log(); exit(); } elseif($captcha!=$code) { echo "<script>alert('驗證碼錯誤!');</script>"; return $this->admin_log(); exit(); } else { $user_pass = md5($data['user_pass']); $res = DB::select("select * from pzq_sysuser where user_name = '{$data['user_name']}' and user_pass = '$user_pass'"); if($res) { echo "<script>alert('登陸成功!');</script>"; return $this->index_show(); } else { echo "<script>alert('登陸失敗,請檢查用戶名和密碼!');</script>"; return $this->admin_log(); } } }