thinkphp怎麼跳轉當前頁

2022-12-12 10:00:19

thinkphp跳轉當前頁的方法:1、在index/login下新建一個login.html頁面;2、新建一個login控制器;3、通過「protected function success(){...}」判斷跳轉是否成功;4、開啟「dispatch_jump.tpl」檔案;5、修改「config.php」下面的設定程式碼即可。

php入門到就業線上直播課:進入學習
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API偵錯工具:

本教學操作環境:Windows7系統、ThinkPHP5版、Dell G3電腦。

ThinkPHP5之頁面跳轉

頁面跳轉的方法

首先可以用簡單的success和error方法來實現

1.在index/login下新建一個login.html頁面

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>登陸</title>
</head>
<body>
    <!--{:url('check')}  :提交到本頁面的控制器下的check方法-->
    <form action="{:url('check')}" method="post">
        <p>
            賬號:<input type="text" name="username" id="username">
        </p>
        <P>
            密碼:<input type="text" name="password" id="password">
        </P>
        <p>
            <input type="submit" value="提交">
            <input type="reset" value="重置">
        </p>
    </form>
</body>
</html>
登入後複製

2.新建一個login控制器

namespace app\index\controller;
use think\Controller;
//繼承Controller
class Login extends Controller
{
    public function index(){
        return view();
    }
//    判斷登陸成功失敗的邏輯
    public function check(){
        $user=$_POST['username'];
        $pwd=$_POST['password'];
        if($user=='admin' && $pwd=='123'){
//            如果成功則跳到index/index頁面
            $this->success('登陸成功',url('/index/index'));
        }else{
            $this->error('登陸失敗');
        }
    }
}
登入後複製

系統的success方法說明

 /**
     * 操作成功跳轉的快捷方法
     * @access protected
     * @param mixed  $msg    提示資訊
     * @param string $url    跳轉的 URL 地址
     * @param mixed  $data   返回的資料
     * @param int    $wait   跳轉等待時間
     * @param array  $header 傳送的 Header 資訊
     * @return void
     * @throws HttpResponseException
     */
    protected function success($msg = '', $url = null, $data = '', $wait = 3, array $header = [])
    {}
登入後複製

跳轉成功的頁面效果:success()方法會有一個等待時間的介面,然後跳到/index/index,同樣error()方法同樣有個等待介面

ac82b6bfe152cf58d1782bcc9604463.jpg

修改跳轉介面 上面顯示登陸成功的介面可能不符合我們的需求,所以需要修改一下這個模板介面

1.修改模板介面,首先需要找到這個模板介面,開啟config.php我們可以看到有下面兩行程式碼

// 預設跳轉頁面對應的模板檔案
    'dispatch_success_tmpl'  => THINK_PATH . 'tpl' . DS . 'dispatch_jump.tpl',    //成功跳轉的介面
    'dispatch_error_tmpl'    => THINK_PATH . 'tpl' . DS . 'dispatch_jump.tpl',    //失敗跳轉的介面
登入後複製

通過上面的程式碼我們可以看出,不管是成功跳轉還是失敗跳轉,他都是同一個介面,dispatch_jump.tpl,我們通過目錄thinkphp\tpl\dispatch_jump.tpl找到這個檔案

然後修改檔案的程式碼,下面我貼出關鍵的資訊

<!--根據code來判斷顯示成功還是失敗,1代表成功,0代表失敗-->
        <?php switch ($code) {?>
            <?php case 1:?>
            <h1>:)</h1>
            <!--這行程式碼是我自己在static下新增的一張成功的笑臉圖片,路徑是根據入口檔案的位置來定義圖片的位置,入口檔案和static是同一級目錄-->
            <img src="/static/xiao.jpg" width="100px" height="100px">
            <p><?php echo(strip_tags($msg));?></p>
            <?php break;?>
            <?php case 0:?>
            <h1>:(</h1>
            <!--這行程式碼是我自己在static下新增的一張失敗的哭臉圖片,路徑是根據入口檔案的位置來定義圖片的位置,入口檔案和static是同一級目錄-->
            <img src="/static/ku.jpg" width="100px" height="100px">
            <p><?php echo(strip_tags($msg));?></p>
            <?php break;?>
        <?php } ?>
登入後複製

2.修改組態檔,修改為自己寫的介面,我們在thinkphp\tpl目錄下新建兩個檔案,一個success.tpl和一個error.tpl檔案,修改config.php下面的設定程式碼

//原來指定的路徑
// 預設跳轉頁面對應的模板檔案
    'dispatch_success_tmpl'  => THINK_PATH . 'tpl' . DS . 'dispatch_jump.tpl',
    'dispatch_error_tmpl'    => THINK_PATH . 'tpl' . DS . 'dispatch_jump.tpl'
//修改為自定義的檔案路徑
     'dispatch_success_tmpl'  => THINK_PATH . 'tpl' . DS . 'success.tpl',
     'dispatch_error_tmpl'    => THINK_PATH . 'tpl' . DS . 'error.tpl'
登入後複製

bootstrap是一個非常優秀的前端框架,裡面已經寫好很多效果來讓我們呼叫,比如輪播圖,導航欄等等,而且優先行動端適配

推薦學習:《》

以上就是thinkphp怎麼跳轉當前頁的詳細內容,更多請關注TW511.COM其它相關文章!