首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

ThinkPHP 跳轉頁 Success 與 Error 模板完整實作教學

     編輯:PHP 綜合知識

在 ThinkPHP 開發中,success() 與 error() 方法是控制器常用的跳轉提示機制。本文將透過完整實例,詳細解析這兩個方法對應的視圖模板與控制器實作細節,幫助開發者徹底掌握跳轉提示的客製化技巧。

控制器層實作範例

在控制器動作中,透過判斷業務邏輯執行結果,呼叫對應的跳轉方法:

<?php
class IndexAction extends Action {
    public function index() {
        $this->assign("title", "淨水器");
        $User = M("User");
        $result = $User->add($data);

        if ($result) {
            // 成功時指定跳轉頁面,預設為 HTTP_REFERER
            $this->assign("jumpUrl", "index");
            $this->success("新增成功!");
        } else {
            // 失敗時預設返回上一頁,通常無需額外設定
            $this->error("新增錯誤!");
        }
        $this->display();
    }
}
?>

成功頁面模板 (success.html)

模板位置:Tpl/default/Public/success.html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "https://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="refresh" content="200; url='{$Url}'" />
<title>成功提示信息</title>
</head>
<body>
<table width="500" border="1" align="center" cellpadding="3" cellspacing="0">
<tr>
<th align="center" bgcolor="#cccccc">成功信息提示</th>
</tr>
<tr>
<td>
{$message}<br />
成功處理的標題信息:{$msgTitle}<br />
<present name="message"> 自定義成功信息:{$message}<br /> </present>
<present name="error"> 自定義錯誤信息:{$error}<br /> </present>
跳轉頁面路徑:{$jumpUrl}<br />
停留時間:{$waitSecond}<br />
2秒後返回指定頁面!<br />
如果瀏覽器無法跳轉,<a href="__ROOT__/{$jumpUrl}" rel="external nofollow">請點擊此處</a>。
</td>
</tr>
</table>
</body>
</html>

錯誤頁面模板 (error.html)

模板位置:Tpl/default/Public/error.html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "https://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="refresh" content="2; url='{$Url}'" />
<title>錯誤提示信息</title>
</head>
<body>
<table width="400" border="1" align="center" cellpadding="3" cellspacing="0">
<tr>
<th align="center" bgcolor="#cccccc">錯誤信息提示</th>
</tr>
<tr>
<td>
{$message}<br />
錯誤處理的標題信息:{$msgTitle}<br />
<present name="message"> 自定義成功信息:{$message}<br /> </present>
<present name="error"> 自定義錯誤信息:{$error}<br /> </present>
跳轉頁面路徑:{$jumpUrl}<br />
停留時間:{$waitSecond}<br />
2秒後返回指定頁面!<br />
如果瀏覽器無法跳轉,<a href="__ROOT__/{$jumpUrl}" rel="external nofollow">請點擊此處</a>。
</td>
</tr>
</table>
</body>
</html>

模板變數說明

兩個模板均可使用以下內建變數:

  • $msgTitle:操作標題
  • $message:頁面提示訊息
  • $status:操作狀態(1 成功、0 失敗)
  • $waitSecond:跳轉等待秒數
  • $jumpUrl:跳轉目標網址

若為 AJAX 請求,success() 與 error() 會自動改呼叫 ajaxReturn() 回傳 JSON 格式資料。

客製化模板路徑

預設模板分別為 Public:success 與 Public:error,可在專案配置或控制器中覆寫:

// 在控制器中指定自訂模板
$this->success("操作成功!", "跳轉網址", "自訂模板名稱");
$this->error("操作失敗!", "跳轉網址", "自訂模板名稱");

掌握這套機制,即可輕鬆建立符合專案風格的友善跳轉提示頁面。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved