频道栏目
首页 > 资讯 > ThinkPHP > 正文

ThinkPHP redirect 页面重定向使用详解与实例

16-01-07        来源:[db:作者]  
收藏   我要投稿
ThinkPHP redirect 方法

ThinkPHP redirect 方法可以实现页面的重定向(跳转)功能。redirect
方法语法如下:
$this->redirect(string url, array params, int delay, string msg)
参数说明:
url 必须,重定向的 URL 表达式。
params
可选,其它URL参数。
delay 可选, 重定向延时,单位为秒。
msg 可选,重定向提示信息。
ThinkPHP redirect
实例
在 Index 模块 index 方法中,重定向到本模块的 select 操作:
class IndexAction extends Action{
public function index(){
$this->redirect('select', array('status'=>1), 3, '页面跳转中~');
}
}
重定向后得到的 URL
可能为:http://www.phplo.com/index.php/Index/select/status/1
由于该方法调用了 U
函数来生成实际的 URL 重定向地址,因此重定向后的 URL 可能因配置不同而有所不同:
隐藏了入口文件 index.php的
http://www.phplo.com/Index/select/status/1
隐藏了入口文件 index.php
且设置了伪静态的
http://www.phplo.com/Index/select/status/1.html
一些常用的
redirect 重定向例子:
// 不延时,直接重定向
$this->redirect('select', array('status'=>1));
// 延时跳转,但不带参数,输出默认提示
$this->redirect('select', '', 3);
// 重定向到其他模块操作
$this->redirect('Public/login');
// 重定向到其他分组
$this->redirect('Admin-Public/login');
提示:
当延时跳转时,必须输入 params
参数(可以为空),也就是 delay 必须出现在第 3 位上。
如果发现跳转后的 URL 有问题,由于 redirect 方法调用 U
方法来生成跳转后的地址,这时候可以测试一下 U 方法生成的地址是否正确,再检查一下系统配置。
如果不想使用 U 方法生成跳转地址,可以直接使用 PHP
header 函数或 $this->redirect 的原型函数 redirect(string url, int delay, string
msg),注意该 url 是个绝对地址,具体参见 PHP header 函数。
redirect 重定向与 success/error
跳转的区别
redirect 是使用的 PHP header 重定向,而 success/error 是使用的 html meta
http-equiv='Refresh' 属性跳转。
redirect 无模板页面,输出的提示信息是直接在函数内 echo 输出的,而
success/error 有对应的模板。
redirect 与 success/error 都可以实现页面的跳转,只是 redirect
可以无延时重定向,具体采用哪种视具体情况而定。
参考阅读
ThinkPHP U方法:动态生成 URL 地址
PHP
header
ThinkPHP rewrite:利用 .htaccess 文件的 rewrite 规则去掉 URL 里面的
index.php
ThinkPHP 伪静态
相关TAG标签
上一篇:怎么用PHP 计算页面执行时间
下一篇:java程序员初涉及php,请教和j2ee的区别
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站