本文目录一览:
- 1、tinkphp跳转页面怎么添加一个随机参数?
- 2、thinkphp中html页面怎么引入html页面
- 3、thinkphp将页面进行传参才能访问?
- 4、thinkphp后置操作怎么传递参数
- 5、thinkphp D方法怎么给构造函数传参
tinkphp跳转页面怎么添加一个随机参数?
thinkphp只是php一个框架了,但如果要实现页面跳转并不能使用header函数来实现了,下面小编来给大家介绍在thinkphp页面跳转方法总结吧。
通过这段时间thinkphp的应运,经常会遇到一些带有提示信息的跳转页面,操作成功或者操作错误页面,并且自动跳转到另外一个目标页面。系统的Action类内置了两个跳转方法success和error,用于页面跳转提示,而且可以支持ajax提交。
使用方法很简单。
代码如下复制代码
$User=M(‘user’)//实例化user表
$res=$User-where(array(’name’=’lone’))-select //查询name是loneIf($res){
$this-success(“输出的提示信息”,”/User/list/”);//查询成功后跳转的页面第二个参数是模板路径地址}else{
$this-error(“输出的错误信息”); //查询失败后返回上一页}
$this-redirect(“Index/list”); //直接跳转,不带计时后跳转这3中内置的跳转都很好用,而且提高了网页的效率!
Success和error方法都有对应的模板,并且是可以设置的,默认的设置是两个方法对应的模板都是:
代码如下复制代码
//默认错误跳转对应的模板文件
'TMPL_ACTION_ERROR' = THINK_PATH . 'Tpl/dispatch_jump.tpl';//默认成功跳转对应的模板文件
'TMPL_ACTION_SUCCESS' = THINK_PATH . 'Tpl/dispatch_jump.tpl';也可以使用项目内部的模板文件
代码如下复制代码
//默认错误跳转对应的模板文件
'TMPL_ACTION_ERROR' = 'Public:error';
//默认成功跳转对应的模板文件
'TMPL_ACTION_SUCCESS' = 'Public:success';模板文件可以使用模板标签,并且可以使用下面的模板变量:
模板文件可以使用模板标签,并且可以使用下面的模板变量:
jquery171008461078754635143="26"
$msgTitle操作标题
$message页面提示信息
$status操作状态 1表示成功 0 表示失败 具体还可以由项目本身定义规则$waitSecond跳转等待时间 单位为秒
$jumpUrl跳转页面地址 success和error方法会自动判断当前请求是否属于Ajax请求,如果属于Ajax请求则会调用ajaxReturn方法返回信息,具体可以参考后面的AJAX返回部分。
thinkphp中html页面怎么引入html页面
8.7 包含文件
可以使用Include标签来包含外部的模板文件,使用方法如下:
include标签(包含外部模板文件)
闭合
闭合标签
属性
file(必须):要包含的模板文件,支持变量
示例:
1、 使用完整文件名包含
格式:include file="完整模板文件名" /
例如:
include file="./Tpl/default/Public/header.html" /
这种情况下,模板文件名必须包含后缀。使用完整文件名包含的时候,特别要注意文件包含指的是服务器端包含,而不是包含一个URL地址,也就是说file参数的写法是服务器端的路径,如果使用相对路径的话,是基于项目的入口文件位置。-thinkphp向index页面传入参数
2、包含当前模块的其他操作模板文件
格式:include file="操作名" /
例如 导入当前模块下面的read操作模版:
include file="read" /
操作模板无需带后缀。
3、 包含其他模块的操作模板
格式:include file="模块名:操作名" /
例如,包含Public模块的header操作模版:
include file="Public:header" /
4、包含其他模板主题的模块操作模板
格式:include file="主题名:模块名:操作名" /
例如,包含blue主题的User模块的read操作模版:
include file="blue:User:read" /
5、 用变量控制要导入的模版
格式:include file="$变量名" /
例如
include file="$tplName" /
给$tplName赋不同的值就可以包含不同的模板文件,变量的值的用法和上面的用法相同。
无论你使用什么方式包含外部模板,Include标签支持在包含文件的同时传入参数,例如,下面的例子我们在包含header模板的时候传入了title和keywords变量:
include file="header" title="ThinkPHP框架"keywords="开源WEB开发框架"/
就可以在包含的header.html文件里面使用var1和var2变量,方法
html xmlns=""
head
title[title]/title
meta name="keywords" content="[keywords]" /
/head
注意:由于模板解析的特点,从入口模板开始解析,如果外部模板有所更改,模板引擎并不会重新编译模板,除非在调试模式下或者缓存已经过期。如果部署模式下修改了包含的外部模板文件后,需要把模块的缓存目录清空,否则无法生效。-thinkphp向index页面传入参数
thinkphp将页面进行传参才能访问?
可以通过:“控制器中间件”先判断请求信息,例如先判断控制器名:
$controller = Request::controller();
或者获取请求名
$action = Request::action();
获取“a”参数
$a = Request::param('a');
然后再进行判断:
if($action == 'index' $a != 1){
return "非法请求!";
}
thinkphp后置操作怎么传递参数
前置操作和后置操作
系统会检测当前操作(不仅仅是index操作,其他操作一样可以使用)是否具有前置和后置操作,如果存在就会按照顺序执行,前置和后置操作的方法名是在要执行的方法前面加 _before_和_after_,例如:-thinkphp向index页面传入参数
class CityAction extends Action{
//前置操作方法
public function _before_index(){
echo 'beforebr/';
}
public function index(){
echo 'indexbr/';
}
//后置操作方法
public function _after_index(){
echo 'afterbr/';
}
}
如果我们访问:
结果会输出:
before
index
after
对于任何操作方法我们都可以按照这样的规则来定义前置和后置方法。如果当前的操作并没有定义操作方法,
而是直接渲染模板文件,那么如果定义了前置 和后置方法的话,依然会生效。
真正有模板输出的可能仅仅是当前的操作,前置和后置操作一般情况是没有任何输出的。
需要注意的是,在有些方法里面使用了exit或者错误输出之类的话 有可能不会再执行后置方法了。
例如,如果在当前操作里面调用了系统Action的error方法,那么将不会再执行后置操作,但是不影响success方法的后置方法执行。
thinkphp D方法怎么给构造函数传参
如PHP code控制器类:
class NewAction extends Action{
public function index()
{
$this-display();}
private function show($cls)//我想在模板中传入参数
{
$news=M("news");
$list=$news-where('class=$cls')-order("time desc")-select();
$this-assign("list",$list);
$this-display();
/* header("Content-type:text/html;Charset=utf-8");
echo $cls;*/
}
}