>백엔드 개발 >PHP 문제 >PHP 헤더가 페이지로 이동할 때 주의해야 할 사항은 무엇입니까?

PHP 헤더가 페이지로 이동할 때 주의해야 할 사항은 무엇입니까?

coldplay.xixi
coldplay.xixi원래의
2020-09-30 10:04:443042검색

PHP 헤더 페이지로 이동할 때 주의해야 할 사항: 1. 위치와 ":" 사이에 공백이 있으면 안 됩니다. 그렇지 않으면 오류가 발생합니다. 2. 헤더를 사용하기 전에는 출력할 수 없습니다. . 헤더 뒤의 PHP 코드는 계속 실행됩니다.

PHP 헤더가 페이지로 이동할 때 주의해야 할 사항은 무엇입니까?

헤더("location:test.php")를 사용하여 PHP로 점프할 때 다음 사항에 주의하세요. 초보자가 자주 겪는 문제를 해결하는 데 도움이 됩니다

1. : 숫자 사이에 공백이 없어야 합니다. 그렇지 않으면 오류가 발생합니다.

2. 헤더를 사용하기 전에는 출력이 불가능합니다.

3. 헤더 뒤의 PHP 코드도 실행됩니다.

다음은 ASP의 Redirect response.redirect와의 비교입니다.

예 1:

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

둘의 차이점:

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

예를 들어

<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>

즉, 헤더 기능 이전에는 고객에게 데이터를 보낼 수 없습니다.

예 2:

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

에서

ASP의 결과는 .asp 파일을 리디렉션하는 것입니다.

php?

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

우리는 그것이 b.php를 리디렉션하는 것을 발견했습니다.

asp에서 리디렉션을 실행한 후 다음 코드는 실행되지 않습니다.

그리고 PHP는 헤더 코드를 실행한 후 다음을 계속 실행합니다.

이런 점에서 PHP의 헤더 리디렉션은 ASP의 리디렉션만큼 좋지 않습니다. 때로는 리디렉션 후 다음 코드를 실행할 수 없습니다.

일반적으로

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

를 사용하지만 간단히 다음 방법을 사용할 수도 있습니다.

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

또한 유니코드(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(&#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>
.

프로그래밍에 대해 더 자세히 알고 싶다면 php Training 칼럼을 주목해주세요!

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

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