PHP Header用于页面跳转时的几个注意事项_php技巧

前言

本文介绍的是在PHP中用header("location:test.php")进行跳转要注意以下几点,有助于解决一些新手经常遇到的问题

一、location和“:”号间不能有空格,否则会出错。

二、在用header前不能有任何的输出。

三、header后的PHP代码还会被执行。

下面是和asp中重定向response.redirect的比较:

例1:

response.redirect "../test.asp"
header("location:../test.php");

两者区别:

asp的redirect函数可以在向客户发送头文件后起作用.

<html><head></head><body>
<%response.redirect "../test.asp"%>
</body></html>

查是php中下例代码会报错:

<html><head></head><body>
<?
header("location:../test.php");
?>
</body></html>

只能这样:

<?
header("location:../test.php");
?>
<html><head></head><body>...</body></html>

即header函数之前不能向客户发送任何数据.

例2:

asp中

<html><head></head><body>
<%
response.redirect "../a.asp"
response.redirect "../b.asp"
%>
</body></html>

结果是重定向a.asp文件.

php呢?

<?
header("location:../a.php");
header("location:../b.php");
?>
<html><head></head><body></body></html>

我们发现它重定向b.php.

原来在asp中执行redirect后不会再执行后面的代码.

而php在执行header后,继续执行下面的代码.

在这方面上php中的header重定向不如asp中的重定向.有时我们要重定向后,不能执行后面的代码:

一般地我们用

if(...)
header("...");
else
{
...
}

但是我们可以简单的用下面的方法:

if(...)
{ header("...");exit();}

还要注意的是,如果是用Unicode(UTF-8)编码时也会出现问题,需要调整缓存设置.

<[email=%@]%@LANGUAGE="VBSCRIPT[/email]" CODEPAGE="936"%>
<%if Request.ServerVariables("SERVER_NAME")="s.jb51.net" then
response.redirect "news/index.htm"
else%>
<%end if%>
<script>
var url = location.href;
if(url.indexOf('http://www.devdao.com/')!=-1)location.href='/index/index.htm';
if(url.indexOf('http://www.knowsky.com/')!=-1)location.href='/index1/index.htm';
if(url.indexOf('http://www.google.com/')!=-1)location.href='/cn/index.asp';
if(url.indexOf('http://www.baidu.com/')!=-1)location.href='/cn/index.asp';
</script>

总结

以上就是这篇文章的全部内容了,希望能对大家的学习或者工作带来一定的帮助,如果有疑问大家可以留言交流。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索php
, 跳转
, header
header跳转页面
面试技巧和注意事项、投标注意事项及技巧、招聘技巧和注意事项、面试注意事项与技巧、科目二注意事项与技巧,以便于您获取更多的相关知识。

时间: 2025-01-25 00:44:29

PHP Header用于页面跳转时的几个注意事项_php技巧的相关文章

PHP Header用于页面跳转要注意的几个问题总结_php技巧

1.header()函数 header()函数是PHP中进行页面跳转的一种十分简单的方法.header()函数的主要功能是将HTTP协议标头(header)输出到浏览器. header()函数的定义如下: void header (string string [,bool replace [,int http_response_code]]) 可选参数replace指明是替换前一条类似标头还是添加一条相(www.jb51.net)同类型的标头,默认为替换. 第二个可选参数http_respons

cgi-html登陆页面跳转时出错

问题描述 html登陆页面跳转时出错 html登陆页面里用action调用login.cgi(用来判断用户名和密码是否正确),等登陆的时候,服务器提示the connetion was reset.请问各位大侠是哪里出了问题.急!!!

html5-请问JavaScript如何隐藏页面跳转时地址栏的参数

问题描述 请问JavaScript如何隐藏页面跳转时地址栏的参数 页面里不是form表单 button按钮的函数如下: setPass: function() { window.location.href="setpass.vue?tel=" + this.user.phone; } 每次点击按钮时跳转页面地址栏都有参数信息,请问用window.location.href 如何隐藏参数?谢谢 解决方案 get的话肯定是没办法隐藏参数,自己动态创建一个表单,表单method改为post,

数据-实现页面跳转时的等待效果

问题描述 实现页面跳转时的等待效果 页面A发送请求 然后后台查询数据 查询比较慢 大概两三秒 然后 跳转到B页面 也就是说 在页面A发送请求后 有三秒多的时间 什么都不错的 这个时候能不能做 做一个 等待效果 等 后台数据完以后 再去跳转 不然的话 页面A 发送请求后 有一段时间 像是没有反应了 解决方案 在中间加一个加载用的菊花呗,请求成功后隐藏

JS控制页面跳转时未请求要跳转的地址怎么回事_javascript技巧

其实,想表达的仅仅是,在js中通过window.location.href控制页面跳转时,有时会跳转至缓存页面,并没有真正去请求要跳转的地址,导致页面数据未能及时加载刷新. 直奔code... 解决办法: 在HTML中埋入隐藏from,通过js调用from进行请求链接地址 <form id='hidden_submit_info' method="post" enctype="multipart/form-data" action="test.php

Angular 页面跳转时传参问题_javascript技巧

首先,你需要已经配置过你的rout,比如: $stateProvider .state('firstPage',{ url:'/Page/firstPage', templateUrl: 'Page/views/firstPage.html', controller: 'firstPageCtrl' //dependencies: ['service/vipSeachService'] }) .state('secPage', { params:{'message':null}, url: '/

php中header()实现页面跳方法

header实现302临时重定向  代码如下 复制代码 Header("HTTP/1.1 302 Found"); Header("Location: http://www.111cn.net"); header实现404无法找到页面  代码如下 复制代码 Header("HTTP/1.1 404 Not Found"); 一下函数可实现各种状态的跳转:  代码如下 复制代码 /** * 跳转页面 * * 使用header()进行页面跳转,不显示

页面跳转时,统计数据丢失问题探讨

为了更好地了解用户对产品的使用情况,业务中,我们经常会收到埋点统计的需求,比如: 收集一段时间内用户光标在页面中的运动情况,包括光标移动.点击等行为 统计用户滚屏行为 统计用户在站点的停留时长 收集页面链接的点击数量等 无论是移动端还是 PC 端,相信很多朋友都遇到了这么几个十分让人头疼的问题: 统计某个链接的点击量,但是这个链接点击后直接跳转走了 统计页面时长问题,unload 的时候发送的统计丢失了 统计脚本还没有初始化,用户不感兴趣已经走人了等 如果我们把这样的数据交给了产品同学,可能会让

JavaScript开发时的五个注意事项_javascript技巧

只在<form>元素上使用submit事件 如果要在form中绑定事件处理程序时,应该只在<form>元素上绑定submit事件,而不是给提交按钮绑定click事件. March:这个方式固然很好,但是,公司开发时使用了Web Flow,一个页面就一个大form,而里面可能有若干个提交按钮,所以不得不把部分事件处理程序绑定在了提交按钮的click事件上. 可点击的都应该是链接 不要给除锚元素(<a>)以外的元素绑定click事件.这一点对于键盘用户很重要,因为他们在仅通