ThinkPHP 页面跳转
ThinkPHP 提供了 success 与 error 方法用于带提示信息的页面跳转,如添加数据后显示提示信息并跳转等。success 方法用于操作成功后的提示,error 用于操作失败后的提示,二者使用方法完全一致,下面以 success 方法来进行说明。
========================================================================
success 方法
success 方法语法如下:
success(message, ajax)
参数说明message可选。页面提示信息。ajax可选。是否 AJAX 方式提交,默认为 false 。
如果是 AJAX 方式提交的话,success 方法会调用 ajaxReturn 方法返回信息,具体参看《ThinkPHP AJAX》。
success 方法实例public function insert(){ // 省略部分其他代码 if($lastInsId = $Dao->add()){ // 页面跳转目标地址 $this->assign("jumpUrl","index"); $this->success("插入数据 id 为:$lastInsId"); }else{ header("Content-Type:text/html; charset=utf-8"); exit($Dao->getError().' [ <A HREF="javascript:history.back()">返 回</A> ]'); }}success 模板
success 方法默认调用公共目录即 TPL/Public/ 下的 success.html 模板。在该模板中,接收如下模板变量:
模 板变量说明$waitSecond跳转等待时间,单位为秒,默认 success 1 秒,error 3 秒。$jumpUrl跳转目标页面地址,默认为 $_SERVER["HTTP_REFERER"] (本操作前一页)。$msgTitle操作标题。注:赋值该变量不会生效,success 会取语言包里 _OPERATION_SUCCESS_ 配置信息,error 取 _OPERATION_FAIL_ 配置信息。$message页面提示信息。$status操作状态,默认 1 表示成功,0 表示失败,具体还可以由项目本身定义规则。
success 实际仍是调用 display() 方法输出 success.html 模板。因此可以根据实际情况对 success.html 模板进行修改如添加更多信息提示或者进行 CSS 美工设置等以满足实际需求,上面这些模板变量只是一些参考变量。
$jumpUrl 变量说明:
$jumpUrl 变量如果不存在,默认跳转地址是 $_SERVER["HTTP_REFERER"] ,一些常见的跳转页面写法参考:
// 本模块其他方法如 index 方法$this->assign("jumpUrl","index");// 带上参数$this->assign("jumpUrl","index/section/".$section);// 其他模块$this->assign("jumpUrl","__APP__/User/index");
如果要使用 U 方法生成跳转目标地址,可在 success.html 中变更 URL 属性为 U 方法形式:
<meta http-equiv='Refresh' content='{$waitSecond};URL={:U($jumpUrl)}'>
在操作中,对 $jumpUrl 模板变量的赋值,相应的也要更改为与 U 方法一致,详细参见:《ThinkPHP U 方法动态生成 URL 地址》。
=======================================================================
error 方法
error 方法用法与 sucess 方法完全一致,只是需要注意的是,ThinkPHP 默认配置 error 方法调用的仍是 success.html 模板。如果需要对 error 方法单独定义模板,可以修改系统默认配置 ThinkPHP/Common/convention.php 文件:
'TMPL_ACTION_ERROR' => 'Public:success', // 默认错误跳转对应的模板文件
或在项目配置里进行重新定义,具体参见《ThinkPHP 项目配置 》。
Web 开发中,在需要页面跳转并显示提示信息时,可以直接使用 ThinkPHP 页面跳转提供的上述 success 与 error 方法。如果不需要提示而是直接重定向页面时,请参阅《ThinkPHP redirect 重定向 》。
发表评论
-
windows下用Apache配置虚拟主机
2012-09-06 22:15 747商家网址站终于完成了,网址:http://www.57sj.n ... -
php通过腾迅的api接口获取ip地址以及所在城市
2012-08-14 20:12 1584网上搜刮的一个根据ip获取用户地址的php代码,让人欣喜的是他 ... -
获取某字符串的字符编码
2012-08-14 18:11 897$encode = mb_detect_encoding($a ... -
【转】正确拆分中英文混合字符串的函数
2012-08-14 17:09 2015function arr_split_zh( $te ... -
jQuery处理AJAX返回的数据
2012-08-14 10:59 1214使用$.get方法发送AJAX请求的时候,我们常常使用eval ... -
【转】PHPMailer 类综合应用
2012-08-13 19:36 1053PHPMailer 类综合应用 PHPMailer ... -
snoopy采集phpchina示例
2012-08-07 21:00 1870snoopy采集phpchina示例 <?php ... -
Snoopy.class.php文件采集
2012-08-07 20:48 1197获取指定url内容 PHP代码 <? ... -
Snoopy.class.php
2012-08-07 20:37 909<?php /****************** ... -
PHP检测内网服务器状态的方法!
2012-08-05 17:57 1767某项目有功能需求为在OA里检测用户服务器的运行状态,服务器均为 ... -
【转】在Thinkphp中使用AJAX实现无刷新分页
2012-07-22 22:13 11298在Thinkphp目录的Lib\ORG\Uti ... -
ThinkPHP模板输入一维数组
2012-07-22 18:59 1288<foreach name="list&quo ... -
【转】MYSQL删除表的记录后如何使ID从1开始
2012-07-17 15:52 1116MYSQL删除表的记录后如何使ID从1开始 htt ... -
[转]ThinkPHP中分页加上搜索
2012-07-14 23:07 8147ThinkPHP 分页可以很容易的实现对不固定查询参数的支持。 ... -
mysqldump 常用备份选项,只备份数据或结构的方法
2012-07-13 18:14 823mysqldump 常用备份选项,只备份数据或结构的方法, ... -
用PHP+批处理+计划任务实现OA系统远程修改客户服务器密码
2012-07-12 15:31 1840最近接到一个朋友的单子,他是做网吧维护的,手下30多家 ... -
[转]php使用mysqldump命令导出数据 文件内容为空 的解决(密码不能为空)
2012-07-12 11:06 1050服务器环境win2003+Apache+PHP5.2 我通过 ... -
[转]分享一个thinkphp提示页面代码
2012-07-09 11:55 5012下面是代码:已经解决了官方的错误提示页面不能正常跳转的情况。 ... -
PHP写入文件时回车的问题
2012-07-09 11:47 793在windows系统里,\r\n标示回车,在写PHP代 ...
相关推荐
ThinkPHP自身提供了success方法与error方法用于实现带提示信息的页面跳转功能,可实现添加数据后显示提示信息并跳转的效果。success 方法用于操作成功后的提示,error 用于操作失败后的提示,二者使用方法完全一致,...
在ThinkPHP6.0框架中,实现成功与错误的页面跳转已不复在ThinkPHP5.1中使用的基础控制器类think\Controller中的方法。因此,开发者需要自行在基础控制器类中实现success()和error()方法,以及页面跳转等功能。接下来...
本文以实例讲解了ThinkPHP跳转页面的success与error方法所对应的视图与控制器的实现方法,通过本实例教程可以帮助读者更好的掌握success方法与error方法的使用。 首先是控制器中,可以使用下代码: <?php // 本...
Thinkphp整合smarty后无法正常使用success和error方法解决办法
在ThinkPHP中,页面跳转通常利用框架提供的方法来实现。框架内部有一个控制器(Controller)负责处理业务逻辑,并且在适当的时候决定跳转到哪个视图(View)。控制器中的dispatchJump方法就是用来进行页面跳转的。当...
通常,ThinkPHP使用`$this->success()`和`$this->error()`方法来显示成功的消息或失败的信息,并可以指定跳转地址和延迟时间。 例如: ```php $this->success('操作成功', U('Index/index'), 3); // 3秒后跳转到...
标题中的“漂亮 TP框架表单提交跳转页面”指的是使用ThinkPHP(简称TP)框架进行Web开发时,关于表单提交后如何实现页面跳转的一个技术主题。在Web应用中,表单提交是用户与服务器交互的重要方式,而跳转页面则关乎...
例如,可以通过继承Action类,并在继承类中重写success和error方法,利用ThinkPHP提供的$this->success()和$this->error()方法来指定自定义的跳转页面。 在前端,ThinkPHP使用模板引擎来渲染页面,跳转页面的模板...
// 提示登录超时并跳转到登录页面 alert('您的登录已超时,请重新登录'); window.location.href = 'login/index'; // 替换为实际的登录页面URL } }); } // 启动心跳 sendHeartbeat(); ``` 在后端,`/api/...
ThinkPHP5提供了便捷的视图操作,如`success`、`error`和`view`等方法。例如,要显示一个视图并传递数据: ```php return $this->view->fetch('article/index', ['data' => $data]); ``` `fetch`方法用于渲染视图...
Ajax,即Asynchronous JavaScript and XML,是一种创建交互式网页应用的技术,允许页面在不重新加载整个页面的情况下与服务器交换数据并更新部分网页内容。 首先,我们要理解ThinkPHP 3.0的核心概念。这个版本引入...
ThinkPHP5引入了更灵活的路由机制,允许我们自定义URL与控制器方法的映射。在`config/route.php`中配置路由规则,可以实现更友好的URL。 ```php return [ '__pattern__' => [ 'name' => '\w+', ], '[hello]' =>...
在HTML页面中,你可以使用`<form>`标签创建一个表单,定义`action`属性指向ThinkPHP的控制器方法,`method`属性定义提交方式(通常是`POST`或`GET`)。 ```html <!-- 表单元素如输入框、选择框等 --> ``` ...
ThinkPHP的cookie和session冲突造成Cookie不能使用的解决方法php多用户读写文件冲突的解决办法php中并发读写文件冲突的解决方案ThinkPHP与PHPExcel冲突解决方法ThinkPHP跳转页success及error模板实例教程php之Smarty...
本文虽然未直接展示Thinkphp5与layer插件的集成代码细节,但给出了定制操作结果页面的基本思路和方法。读者在阅读时应该能够结合Thinkphp5框架的使用习惯以及layer插件的具体API来实现所需功能。另外,需要注意的是...
对于ThinkPHP框架,它提供了内置的跳转方法,如`success()`和`error()`,这些方法不仅完成页面跳转,还可以显示相应的提示信息。 总的来说,PHP提供了多种不依赖JavaScript实现页面跳转的手段,包括HTML的`<meta>`...