<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>

                ## 說明 >[info]#### 控制器,主要是對操作進行處理,并不進行任何數據操作,邏輯處理。 在這之前,我們有兩個文件的代碼是需要先寫好的。 >[info] 一個是在控制器文件夾里面的 ```Common.php```,這是用來,檢測當前域里面是否有 Seesion, 有的話就有進入 index界面的權限,沒有的話,就是跳轉到登錄頁面,這是一種安全考慮。 位置如圖(兩個文件都需要創建并且放入指定目錄): ![](https://box.kancloud.cn/6e6c566445043f83155ba433b5891ee5_402x383.png) 代碼如下: ``` <?php /** * Created by PhpStorm. * User: ye21st * Email: ye21st@gmail.com * Date: 2018/1/19 * Time: 11:52 */ namespace app\index\controller; use think\Controller; /** * 公共控制器 * Class Common * @package app\index\controller */ class Common extends Controller { // 前置方法 protected function initialize() { if(!session('id') || !session('name')){ $this->error('您尚未登錄系統',url('index/login/index')); } } } ``` >[info] 另一個就是一個返回碼,控制器通過得到的返回碼去進行一些相應的操作。 代碼如下: ``` <?php /** * Created by PhpStorm. * User: ye21st * Email: ye21st@gmail.com * Date: 2018/1/17 * Time: 14:10 */ namespace app\index\controller; /** * 返回碼 * Class ResultCode * @package app\index\controller */ class ResultCode { static public $LOGIN_SUCCESS = 1000; // 登錄成功 static public $USER_DOES_NOT_EXIST = 1001; // 用戶名不存在 static public $PASSWORD_ERROR = 1002; // 密碼錯誤 } ``` >[success] 到了這里,我們在登錄操作之前,我們先創建好首頁的控制器,用來展示首頁。 位置如下(application\index\controller\Index.php),如下圖所示: ![](https://box.kancloud.cn/1a922f8b2758cef7c7e24ebadf830962_380x226.png) 代碼如下: ``` <?php namespace app\index\controller; /** * Index 控制器 * Class Index * @package app\index\controller */ class Index extends Common { /** * 登錄首頁 * @return mixed */ public function index() { $this->assign('name', 'thinkphp'); return $this->fetch(); } } ``` >[info] 最后,我們來創建登錄控制器。 位置如下(application\index\controller\Login.php),如下圖所示: ![](https://box.kancloud.cn/ee2b5bfb139efec24f3d1a2ec31d04c1_376x221.png) 代碼如下: ``` <?php /** * Created by PhpStorm. * User: ye21st * Email: ye21st@gmail.com * Date: 2018/1/19 * Time: 11:52 */ namespace app\index\controller; use app\index\model\User as UserModel; use think\captcha\Captcha; use think\Controller; use think\facade\Request; use think\facade\Session; /** * 登錄控制器 * Class Login * @package app\index\controller */ class Login extends Controller { /** * 登錄操作 * @return mixed * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\ModelNotFoundException * @throws \think\exception\DbException */ public function index(){ // 判斷請求是否是 POST 請求 if ( Request::isPost() ){ // 獲取用戶登錄時候的用戶名、密碼、驗證碼 $username = $this -> request -> param('username'); $password = $this -> request -> param('password'); $code = $this -> request -> param('code'); // 檢測輸入的驗證碼是否正確,$code 為用戶輸入的驗證碼字符串 $captcha = new Captcha(); if( !$captcha->check($code)) { $this->error('驗證碼錯誤!'); } $index = new UserModel(); $result = $index -> login($username,$password); /** * 通過獲得的條件去進行不同的操作 */ switch ($result){ case ResultCode::$LOGIN_SUCCESS: $this -> success('用戶登錄成功!',url('index/index/index')); break; case ResultCode::$USER_DOES_NOT_EXIST: $this->error('用戶名不存在!'); break; case ResultCode::$PASSWORD_ERROR: $this->error('密碼錯誤,請確認后再次輸入!'); break; } } return $this->fetch(); } /** * 生成驗證碼 * @return \think\Response */ public function verify() { // 驗證碼配置 $config = [ // 驗證碼字體大小 'fontSize' => 20, // 驗證碼位數 'length' => 4, // 寬度 'imageW' => 360, // 高度 'imageH' => 60, // 關閉驗證碼雜點 'useNoise' => false, ]; $captcha = new Captcha($config); return $captcha->entry(); } /** * 安全退出 */ public function logout(){ Session::pull('id'); Session::pull('name'); $this->redirect('index/login/index'); } } ``` >[success] 到了這里,我們的代碼基本都書寫完了,功能的話,也是能夠正常使用的。
                  <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>

                              哎呀哎呀视频在线观看