>  기사  >  백엔드 개발  >  php 헤더("location: $url") 페이지 점프 주의사항 요약

php 헤더("location: $url") 페이지 점프 주의사항 요약

伊谢尔伦
伊谢尔伦원래의
2017-06-23 14:06:337396검색

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

1. 위치 사이에는 공백이 있어서는 안 됩니다. 및 ":" 공백이 있으면 오류가 발생합니다.

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

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

다음은 asp의 리디렉션 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>
<?php
header("location:../test.php");
?>
</body>
</html>

유일한 방법은

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

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

예 2:

asp에서

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

의 결과가 무거움 a.asp 파일을 직접 지정합니다.

php는 어떻습니까?

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

b.php를 리디렉션하는 것으로 나타났습니다.

이후에는 ASP에서 리디렉션을 실행하면 다음 코드는 실행되지 않습니다.

그리고 헤더를 실행한 후에는 다음 코드를 실행합니다.

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

일반적으로

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

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

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

또한 유니코드(UTF-8) 인코딩을 사용하는 경우에도 문제가 발생하므로 주의해야 합니다. 캐시 설정을 조정하세요.

위 내용은 php 헤더("location: $url") 페이지 점프 주의사항 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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