23. 다른 페이지로 이동하기 -php-

 

PHP에서 조건에 따라 다른 페이지로 이동하는 방법.

 

1. 자바스크립트를 이용하는 방법

<? echo("<script>location.href='경로/파일명';</script>"); ?>

 

2. 자바스크립트를 이용하는 방법

<? echo("<script>location.replace('경로/파일명');</script>"); ?>

 

3. Header() 함수를 이용하는 방법(생소하네)

header()함수를 사용할 때는 사용하기 이전에 다른 Text 가 출력되지 않은 상태라야 한다. (뭔 말이야..)

, 클라이언트 상에 아무런 문자가 출력되지 않은 상태라야 사용 가능하며, 서버 사이드의 php 구문은 상관없다. (물론 echo("...") 같은 걸로 문자열을 출력했을 경우는 안 된다.)

<? Header("Location:경로/파일명"); ?>

 

4. 메타태그를 이용하는 방법

<? echo("<meta http-equiv='refresh' content='시간지정' url='경로/파일명'>"); ?>

위의 4가지 방법 중 권장하고 싶은 것은 2.

1번 자바스크립트의 경우 href는 이전에 이미 접속했던 사이트일 경우 temp에 저장된 문서를 보여 줄 가능성이 있다.

3PHP Header()의 경우에도 캐쉬가 엉켜버린다. 캐쉬가 엉킨다는 것은 예를 들어 게시판에서 글을 적은 후 자동으로 목록으로 돌아가게 했는데 좀 전에 쓴 글이 리스트에 안 보이는 경우이다. 물론 refresh하면 나타난다.

4번 메타태그의 경우 mtstyle.net 에서 www.mtstyle.net로 이동할 경우 무한 refresh가 걸린다.

 

글이 있을 때와 없을 때 이동하는 페이지를 다르게.

$sql = "select * from math_class where

cl_id = '$_GET[cl_id]'"; //get방식으로 받은 cl_idDB에 있는지를 찾기 위해 사용.

$result = sql_query($sql);//sql_query()는 사용자 함수이다.

$data = mysql_fetch_array($result);

 

if(!$data[cl_id]){

echo("<script>location.replace('./class_write.php?cl_id=$_GET[cl_id]');</script>");

} else {

echo("<script>location.replace('./class_modify.php?cl_id=$_GET[cl_id]');</script>");

}

?>

 

 

<input> 버튼으로 다른 페이지 가기

<p>

<a href="javascript:OpenLatexEditor('testbox','latex','');">

Launch CodeCogs Equation Editor</a>

</p>

이걸 버튼으로 바꾸려고 한다.

코드에디터를 부르는 input에서

<input type="button" value="CodeCogs Equation Editor" onclick="location.href=OpenLatexEditor('testbox','latex',''); return false;">

이건 submit이 된다.

 

<input type="button" value="CodeCogs Equation Editor" onclick="href=OpenLatexEditor('testbox','latex',''); return false;">

이건 submit이 안 된다.

Posted by star story :

Snippet :: Code View :: "+location.href+'
'+b+"

");top.consoleRef.document.close()}$(".snippet-container").each(function(b){$(this).find("a.snippet-text").click(function(){var d=$(this).parents(".snippet-wrap").find(".snippet-formatted");var c=$(this).parents(".snippet-wrap").find(".snippet-textonly");d.toggle();c.toggle();if(c.is(":visible")){$(this).html("html")}else{$(this).html("text")}return false});$(this).find("a.snippet-window").click(function(){var c=$(this).parents(".snippet-wrap").find(".snippet-textonly").html();a(c);$(this).blur();return false})});$(".snippet-toggle").each(function(b){$(this).click(function(){$(this).parents(".snippet-container").find(".snippet-wrap").toggle()})})});