테스트 사이트 - 개발 중인 베타 버전입니다

포워드에 따라 다른 페이지로 자동연결되는 index.php

소리나라 5년 전 조회 2,146

포워드에 따라 다른 페이지로 자동연결되는 index.php를 만드려는데요..

페이지가 계속 로딩중만되는데 어디가 문제인걸까요?

</p>

<p><!DOCTYPE html></p>

<p> </p>

<p><head></p>

<p>     <meta charset="utf-8"></p>

<p>  <link rel="stylesheet" type="text/css" href="<a href="<a href="http://localhost/style.css" target="_blank" rel="noopener noreferrer">http://localhost/style.css</a>"><a href="http://localhost/style.css" target="_blank" rel="noopener noreferrer">http://localhost/style.css</a></a>"></p>

<p></head></p>

<p><?php

//<a href="http://test.kr/index.php?forward=A" target="_blank" rel="noopener noreferrer">http://test.kr/index.php?forward=A</a></p>

<p>if ($forward != "A")

//echo("<script>location.replace('./A.html');</script>");

echo("<meta http-equiv='refresh' content='0'; url='./A.html'>");

elseif ($forward != "B")

echo("<script>location.replace('./B.html');</script>");

elseif ($forward != "C")

echo("<script>location.replace('./C.html');</script>");

elseif ($forward != "D")

echo("<script>location.replace('./D/D.html');</script>");

end;

?></p>

<p>

댓글을 작성하려면 로그인이 필요합니다.

답변 5개

첫번째 if 문이 항상 참(TRUE) 이 되기 때문에

</p>

<p><code>echo</code><code>(</code><code>"<meta http-equiv='refresh' content='0'; url='./A.html'>"</code><code>);</code></p>

<p>

계속 반복 되는 것으로 보입니다.

!= 은 아닌경우 모두를 포함하기 때문에 범위가 지정된 "A"를 제외한 모두가 됩니다.

== 으로 변경하시는게 좋을거 같습니다.

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

5년 전

자신이 자신을 재귀호출하는 지점이 있을꺼에요. 잘 살펴보세요.

저도 많이 해봤어요.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

플래토
5년 전

$forward 는 언제 값이 존재하나요?

처음의 if문 전에 찍어보세요

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

5년 전

일단 if 문법도 이상하네요

":" 이 없는데 endif 아닌 end 를 쓰는것도 이상하고 

</p>

<p>$forwardUrl = "";</p>

<pre>
if ($forward != "A") {
   $forwardUrl = "A.html";
} elseif ($forward != "B") {
   $forwardUrl = "B.html";
} ...
echo("console.log('".forwardUrl."');</script>");
</pre>

<p>

이렇게 해서 먼저 console 로그 부터 확인한뒤에 고치든지 해보세요 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

승희아빠
5년 전
한줄짜리 if문은 구지 { } 를 쓰지 않아도 됩니다.
백수1995
5년 전
설마 제가 몰라서 그렇게 썼다고 생각하시는건 아니시죠? ^^

댓글을 작성하려면 로그인이 필요합니다.

e
5년 전

우선 if 문이 이상하네요..

forward=A 라면..

4개의 if 문에 모두 해당되고, 젤 위에 if ($forward != "A") 문을 먼저 실행합니다.

즉, ./A.html 파일로 이동하겠네요.

./A.html 파일에 위에 구문이 동일하게 들어가있다면 무한 반복을 하구요.

그렇지 않다면, 이상없이 이동할 겁니다.

구문을 한번 점검해보세요..

'0;url=./A.html'>

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인