<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                **前期準備** 1.在項目的根目錄下通過composer來安裝phpmail發送郵件的擴展包 ``` composer require phpmailer/phpmailer ``` 2.由于前后臺都需要發送郵件,因此需要定一個公共函數 app\common.php ``` //////使用的是163郵箱 <?php /** * 公共函數 */ use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception; function mailto($user,$subject,$content){ $mail = new PHPMailer(true); try { //Server settings $mail->SMTPDebug = 0; // Enable verbose debug output $mail->isSMTP(); // Set mailer to use SMTP $mail->CharSet='utf-8'; $mail->Host = 'smtp.163.com'; // Specify main and backup SMTP servers $mail->SMTPAuth = true; // Enable SMTP authentication $mail->Username = 'example@163.com'; // SMTP username $mail->Password = 'password'; // SMTP 授權碼(不是登錄密碼) $mail->SMTPSecure = 'ssl'; // Enable TLS encryption, `ssl` also accepted $mail->Port = 465; // TCP port to connect to //Recipients $mail->setFrom('example@163.com', '名稱'); $mail->addAddress($user); // Add a recipient // Content $mail->isHTML(true); // Set email format to HTML $mail->Subject = $subject; $mail->Body = $content; return $mail->send(); } catch (Exception $e) { echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}"; } } ``` ## 1.路由 routes/web.php ```php Route::namespace('Admin')->group(function () { Route::match(['GET', 'POST'], '/forget', 'Index@forget'); }); ``` ## 2.忘記密碼頁面 admin/index/forget.balde.php ![](https://img.kancloud.cn/5e/b9/5eb90b8043795945b8c7a989b2f7986c_323x263.png) ```html ~~~ <!DOCTYPE html> <html lang="zh"> <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="shortcut icon" href="assets/admin/img/logo.jpg" type="image/x-icon"> <link href="assets/admin/css/bootstrap.min.css" rel="stylesheet" /> <link href="assets/admin/css/font-awesome.min.css" rel="stylesheet" /> <link href="assets/admin/css/weather-icons.min.css" rel="stylesheet" /> <link id="beyond-link" href="assets/admin/css/beyond.min.css" rel="stylesheet" type="text/css" /> </head> <body> <div class="login-container"> <form action=""> <div class="loginbox bg-white"> <div class="loginbox-title">找回密碼</div> <div class="loginbox-or"> <div class="or-line"></div> </div> <div class="loginbox-textbox"> <input type="text" class="form-control" name="email" placeholder="請輸入郵箱" /> </div> <div class="loginbox-textbox hidden"> <input type="text" class="form-control" name="code" placeholder="請輸入驗證碼" /> </div> <div class="loginbox-submit"> <input type="submit" class="btn btn-primary btn-block" id="verify" value="獲取驗證碼"> </div> <div class="loginbox-submit hidden"> <input type="submit" class="btn btn-primary btn-block" id="reset" value="重置密碼"> </div> </div> <div class="logobox"> <p class="text-center" style="font-size: 18px;font-weight: bold;text-shadow: 3px 3px 3px #FF0000;font-style: italic;"></p> </div> </form> </div> <script src="assets/admin/js/skins.min.js"></script> <!--Basic Scripts--> <script src="assets/admin/js/jquery.min.js"></script> <script src="assets/admin/js/bootstrap.min.js"></script> <script src="assets/admin/js/slimscroll/jquery.slimscroll.min.js"></script> <script src="assets/lib/layer/layer.js"></script> <!--Beyond Scripts--> <script src="assets/admin/js/beyond.js"></script> <script> $('#verify').click(function () { var data = $('form').serialize();//表單序列化 $.ajax({ url: "{{url('forget')}}", data: data, type: 'post', dataType:'json', success:function(data){ if (data.code == 1) { layer.alert(data.msg,{ offset:'220px', icon:6, time:2000 },function () { $('input[name=email]').parent().addClass('hidden'); $('input[name=code]').parent().removeClass('hidden'); $('#verify').parent().addClass('hidden'); $('#reset').parent().removeClass('hidden'); }); } else { layer.open({ skin:'layui-layer-molv', offset:'220px', title:'驗證碼發送失敗', content:data.msg, icon: 5, anim:6 }); } } }); return false; }) //發送驗證碼 $('#reset').click(function () { //重置密碼 var data = $('form').serialize();//表單序列化 $.ajax({ url: "{{url('reset')}}", data: data, type: 'post', dataType:'json', success:function(data){ if (data.code == 1) { layer.alert(data.msg,{ offset:'220px', icon:6, time:2000 },function () { window.location.href=data.url; }); } else { layer.open({ skin:'layui-layer-molv', offset:'220px', title:'重置密碼失敗', content:data.msg, icon: 5, anim:6 }); } } }); return false; }) //發送驗證碼 </script> </body> </html> ``` ## 3.控制器 Controller/admin/Index.php(reister操作方法) ```php // 忘記密碼 public function forget() { if (request()->isMethod('post')){ $data=request()->only(['email']); $res=(new Admin)->getCode($data); if ($res == 1){ $msg=[ 'code'=>1, 'msg'=>'驗證碼發送成功' ]; }else{ $msg=[ 'code'=>1, 'msg'=>$res ]; } return $msg; } return view('admin.index.forget'); } ``` ## 4.模型 Models\Admin.php ```php public function getCode($data) { $rules=[ 'email'=>'bail|required|email', ]; $msg=[ 'email.required'=>'郵箱不能為空', 'email.email'=>'請填寫正常郵箱格式', ]; $validate=Validator::make($data,$rules,$msg); if ($validate->fails()){ return $validate->errors()->first(); } $res=$this->where('email',$data['email'])->first(); if ($res){ $code=mt_rand(1000,9999); session(['code'=>$code]); $content='您的驗證碼是'.$code; $sendMail=mailto($data['email'],'獲取驗證碼,$content); if ($sendMail){ return 1; }else{ return '發送失敗,請等待一會再試~~'; } }else{ return '該郵箱尚未注冊'; } } ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看