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()方法同樣有個等待介面
修改跳轉介面 上面顯示登陸成功的介面可能不符合我們的需求,所以需要修改一下這個模板介面
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其它相關文章!