>  기사  >  백엔드 개발  >  PHP 헤더를 사용하여 페이지로 이동할 때 주의할 점은 무엇입니까?

PHP 헤더를 사용하여 페이지로 이동할 때 주의할 점은 무엇입니까?

coldplay.xixi
coldplay.xixi원래의
2020-08-10 13:42:261932검색

페이지 이동을 위한 PHP 헤더 사용에 대한 참고 사항: 1. 위치와 [:] 사이에 공백이 있으면 안 됩니다. 그렇지 않으면 오류가 발생합니다. 2. 헤더를 사용하기 전에는 출력이 있을 수 없습니다. 헤더는 여전히 실행됩니다.

PHP 헤더를 사용하여 페이지로 이동할 때 주의할 점은 무엇입니까?

페이지 이동을 위한 PHP 헤더 사용에 대한 참고 사항:

다음은 asp의 response.redirect 리디렉션과 비교한 것입니다. 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

예 1:

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

The 둘 사이의 차이점:

asp의 redirect 기능은 헤더 파일을 고객에게 보낸 후에 작동할 수 있습니다.

예를 들어,

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

PHP에서 다음 예제 코드를 확인하면 오류가 보고됩니다.

<[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.devdao.com/&#39;)!=-1)location.href=&#39;/index/index.htm&#39;;
if(url.indexOf(&#39;http://www.knowsky.com/&#39;)!=-1)location.href=&#39;/index1/index.htm&#39;;
if(url.indexOf(&#39;http://www.google.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>

이 방법만 가능:
rrreee

즉, 헤더 기능은 이전에 고객에게 어떤 데이터도 보낼 수 없습니다.
예 2:

🎜asp에서 🎜rrreee🎜의 결과는 a를 리디렉션하는 것입니다. asp 파일.🎜🎜php ?🎜rrreee🎜 b.php를 리다이렉트하는 것을 발견했습니다.🎜🎜asp에서 리다이렉트를 실행한 후에는 다음 코드가 실행되지 않는 것으로 나타났습니다. 🎜🎜헤더를 실행한 후 PHP는 다음 코드를 계속 실행합니다.🎜🎜이와 관련하여 PHP의 헤더 리디렉션은 ASP의 리디렉션만큼 좋지 않습니다. 때로는 리디렉션을 원하는 후에 다음 코드를 실행할 수 없습니다.🎜🎜 일반적으로 🎜rrreee🎜를 사용하지만 간단히 다음 방법을 사용할 수도 있습니다. 🎜rrreee🎜 또한 유니코드(UTF-8)로 인코딩하는 경우에도 문제가 발생하므로 캐시 설정을 조정해야 합니다. 🎜rrreee🎜. 🎜관련 학습 권장사항: 🎜php 프로그래밍🎜(동영상)🎜🎜 🎜

위 내용은 PHP 헤더를 사용하여 페이지로 이동할 때 주의할 점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.