ThinkPHP redirect 页面重定向使用详解与实例
ThinkPHP redirect 方法可以实现页面的重定向(跳转)功能。
ThinkPHP 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://localhost/index.php/Index/select/status/1
由于该方法调用了 U 函数来生成实际的 URL 重定向地址,因此重定向后的 URL 可能因配置不同而有所不同:
隐藏了入口文件 index.php 的 http://localhost/Index/select/status/1 隐藏了入口文件 index.php 且设置了伪静态的 http://localhost/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 可以无延时重定向,具体采用哪种视具体情况而定。
本文属原创,转载请注明原文:http://www.zhimatong.com/jiaocheng/572.html
为保证教程的实用性及扩大知识面覆盖,如果您有相似问题而未解决,可联系在线客服免费技术支持。
内容有用
热门主题
相关阅读
- ThinkPHP 5.1 缓存的创建与读取
- ThinkPHP5 查询本年、本月、本周的方法
- ThinkPHP使用update函数更新数据的方法
- ThinkPHP6多应用下路由设置
- ThinkPHP5.1图片上传后自定义图片名称和图片存储路径
- ThinkPHP页面提示Warning: require(): open_basedir restriction in effect. File的解决方法
- 中国数据API返回字符串true,判断不起作用的解决方法
- tp5中mysql查询select结果去重显示唯一数据的方法
- ThinkpPHP5.1表单多选checkbox的判断和保存传值
- thinkphp前端页面输出html
- vuejs和thinkphp结合的2种方法
- tp5.1 随机查询数据