您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
thinkphp3.2.1学习笔记-控制器[中]
发布时间:2017-09-19 11:39:38编辑:雪饮阅读()
success跳转:
控制器中如:
public function index(){
//跳转地址也可以是带http的绝对路径
$this->success('新增成功','../User/all');
}
public function all(){
echo "all";
}
访问如:
http://localhost/User/
就会直接出现带有提示的“新增成功“的 过渡页面然后跳转到all法中.
直接跳转到当前控制器的其它方法:
$this->success('新增成功','all');
可以设置跳转过渡的倒计时间:
$this->success('新增成功','all',15);
error跳转:
$this->error('新增失败');
该跳转会跳转到请求页,比如你当前页面是百度页面,而你在地址栏直接请求了该error方法则会重新回到百度页面。
自定义success和error的过渡模板:
配置文件中添加如:
'TMPL_ACTION_SUCCESS'=>'Public/success',
'TMPL_ACTION_ERROR'=>'Public/error',
view->default->public中分别添加success.html和error.html
内容均为:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<!-- 该变量的值即消息标题是系统默认提供的 -->
<title><{$msgTitle}></title>
</head>
<body>
<!--该变量是我们传递在success或error函数的第一个参数的值-->
消息:<{$message}>
<br/>
<!-- status为1表示成功为0表示失败 -->
状态:<{$status}>
<br/>
等待的时间:
<!--获取到的时间可以结合js做跳转操作-->
<{$waitSecond}>
<br/>
跳转的目标url:
<{$jumpUrl}>
</body>
</html>
redirect方法直接跳转:
$this->redirect('User/all',array('id'=>5),5,'页面跳转中。。。');
第一个参数为跳转地址,第二个参数为跳转传参,第三个参数为跳转过渡的倒计时,第四个参数为跳转过渡的提示信息。
或者直接:
redirect('http://www.baidu.com',5,'页面跳转中');
获取输入变量:
$id=I('GET.id',1);
echo $id;
I方法可以将获取的变量值默认经过html过滤了,如果获取的变量值是html代码,则不会直接解析而是原样输出,另外若获取不到指定参数名的值时则可设置默认值,如这里设置为1
$id=I('GET.id',1,'md5');
我们还可以自定义过滤,如这里使用了md5将获取的值过滤了。
print_r(I('get.'));
获取所有输入变量。
echo I('param.id');
print_r(I('param.'));
或
//0是所有,1是第一个输入参数,2是第二个输入参数,以此类推
print_r(I('param.0'));
不限制输入类型的获取
修改默认过滤函数:
默认过滤是html过滤函数htmlspecialchars
可以修改默认过滤函数为空,这样就默认不过滤了,配置文件中如:
'DEFAULT_FILTER'=>''
如果不想修改配置文件但也要不允许过滤则可以通过如下两种方式都可以:
echo I('param.id','','');
echo I('param.id','',false);
关键字词:thinkphp3.2.1,控制器