出这个错误是因为 echo header("location:liebiao.php"); 发送头之前不能有任何输出,空格也不行,你需要将header(...)之前的空格去掉,或者其他输出的东西去掉,如果他上面include其他文件了,你还要检查其他文件里是否有输出,如果你能找到输出的地方也可以,在输出内容之前加ob_start()
如果header的前面echo删除了还是报一样的错误,换个浏览器试试
thinkphp只是php一个框架了,但如果要实现页面跳转并不能使用header函数来实现了,下面小编来给大家介绍在thinkphp页面跳转方法总结吧.
通过这段时间thinkphp的应运,经常会遇到一些带有提示信息的跳转页面,操作成功或者操作错误页面,并且自动跳转到另外一个目标页面.系统的Action类内置了两个跳转方法success和error,用于页面跳转提示,而且可以支持ajax提交.
使用方法很简单.
代码如下复制代码
$User=M('user')//实例化user表
$res=$User-where(array('name'='lone'))-select //查询name是lone
If($res){
$this-success("输出的提示信息","/User/list/");
//查询成功后跳转的页面第二个参数是模板路径地址
}else{
$this-error("输出的错误信息"); //查询失败后返回上一页
}
$this-redirect("Index/list"); //直接跳转,不带计时后跳转
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';
模板文件可以使用模板标签,并且可以使用下面的模板变量:
$msgTitle操作标题
$message页面提示信息
$status操作状态 1表示成功 0 表示失败 具体还可以由项目本身定义规则
$waitSecond跳转等待时间 单位为秒
$jumpUrl跳转页面地址 success和error方法会自动判断当前请求是否属于Ajax请求,如果属于Ajax请求则会调用ajaxReturn方法返回信息,具体可以参考后面的AJAX返回部分.
没有登陆时,你这么写的话,就没有输出的值了吧,会直接跳转到地址,那么地址你应该直接写你想跳转到地方,比如header("localtion:login.php");
PHP页面跳转第一段:header()函数
header()函数是PHP中进行页面跳转的一种十分简单的方法.header()函数的主要功能是将HTTP协议标头(header)输出到浏览器.
header()函数的定义如下:
void header (string string [,bool replace [,int http_response_code]])
可选参数replace指明是替换前一条类似标头还是添加一条相同类型的标头,默认为替换.
第二个可选参数http_response_code强制将HTTP相应代码设为指定值. header函数中Location类型的标头是一种特殊的header调用,常用来实现页面跳转.注意:1.location和":"号间不能有空格,否则不会跳转.
php
//重定向浏览器
header("Location: ");
//确保重定向后,后续代码不会被执行
exit;
PHP页面跳转第二段:Meta标签
Meta标签是HTML中负责提供文档元信息的标签,在PHP程序中使用该标签,也可以实现页面跳转. 若定义http-equiv为refresh,则打开该页面时将根据content规定的值在一定时间内跳转到相应页面.
若设置content="秒数;url=网址",则定义了经过多长时间后页面跳转到指定的网址.例如,使用meta标签实现疫苗后页面自动跳转到冠威博客.
meta http-equiv="refresh" content="1;url="
例如,以下程序meta.php实现在该页面中停留一秒后页面自动跳转到.
$url = ""; ?
html
head
meta http-equiv="refresh" content="1; url= ?php echo $url; ?"
/head
body
页面只停留一秒......
/body
/html
PHP页面跳转第三段:JavaScript(常用、推荐)
例如,此代码可以放在程序中的任何合法位置.
$url = "";
echo "script language='javascript' type='text/javascript'";
echo "window.location.href='$url'";
echo "/script";
在PHP中用header("location:test.php")进行跳转要注意以下几点,有助于解决一些新手经常遇到的问题
①.、location和":"号间不能有空格,否则会出错.
下面是和asp中重定向response.redirect的比较:
例1:
response.redirect "../test.asp"
header("location:../test.php");
两者区别:
asp的redirect函数可以在向客户发送头文件后起作用.
如
htmlhead/headbody
%response.redirect "../test.asp"%
/body/html
查是php中下例代码会报错:
只能这样:
htmlhead/headbody.../body/html
即header函数之前不能向客户发送任何数据.
asp中
%
response.redirect "../a.asp"
response.redirect "../b.asp"
结果是重定向a.asp文件.
php呢?
header("location:../a.php");
header("location:../b.php");
htmlhead/headbody/body/html
我们发现它重定向b.php.
原来在asp中执行redirect后不会再执行后面的代码.
而php在执行header后,继续执行下面的代码.
在这方面上php中的header重定向不如asp中的重定向.有时我们要重定向后,不能执行后面的代码:
一般地我们用
if(...)
header("...");
else
{
...
以上就是土嘎嘎小编为大家整理的phpheader跳转提示相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!