Home > Backend Development > PHP Problem > What should you pay attention to when php header jumps to the page?

What should you pay attention to when php header jumps to the page?

coldplay.xixi
Release: 2023-03-06 10:56:01
Original
3013 people have browsed it

php header jump page needs to pay attention to the following: 1. There can be no space between location and ":", otherwise an error will occur; 2. There cannot be any output before using the header; 3. After the header PHP code will also be executed.

What should you pay attention to when php header jumps to the page?

When using header("location:test.php") to jump in PHP, please pay attention to the following points, which will help solve some problems for novices Frequently encountered problems

1. There cannot be a space between location and the ":" sign, otherwise an error will occur.

2. There cannot be any output before using the header.

3. The PHP code after the header will also be executed.

The following is a comparison with redirect response.redirect in asp:

Example 1:

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

The difference between the two:

asp's redirect function can work after sending the header file to the client.

For example,

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

If you check the following example code in php, an error will be reported:

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

This is the only way :

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

That is, the header function cannot send any data to the client before.

Example 2:

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

in

asp results in redirecting a.asp Where is the file.

php?

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

We found that it redirected b.php.

It turns out that after executing redirect in asp, the subsequent code will not be executed.

After executing the header, php continues to execute the following code.

In this regard, the header redirection in php is not as good as the redirection in asp. Sometimes we cannot execute the following after redirecting Code:

Generally we use

if(...)
header("...");
else
{
...
}
Copy after login

but we can simply use the following method:

if(...)
{ header("...");exit();}
Copy after login

Also note that if you use Unicode (UTF- 8) Problems may also occur when coding, and cache settings need to be adjusted.

<[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(&#39;http://www.jb51.net/&#39;)!=-1)location.href=&#39;/index/index.htm&#39;;
if(url.indexOf(&#39;http://www.kanshule.com/&#39;)!=-1)location.href=&#39;/index1/index.htm&#39;;
if(url.indexOf(&#39;http://www.shouji17.com/&#39;)!=-1)location.href=&#39;/cn/index.asp&#39;;
if(url.indexOf(&#39;http://www.baidu.com/&#39;)!=-1)location.href=&#39;/cn/index.asp&#39;;
</script>
Copy after login

If you want to learn more about programming, please pay attention to the php training column!

The above is the detailed content of What should you pay attention to when php header jumps to the page?. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template