채택완료

write_update.skin.php에서 새로고침을 적용하려면 어떤 방법이 필요한지 궁금합니다.

2014-07-08 (화) 16:18:02 11,812

​글을 쓰는 write.skin.php 페이지에서 버튼을 누르면

option의 값을 변경한 후, 목록으로 이동하게 됩니다.

Copy
<tr>                <td class=brd_col1>상태</td>                <td class=brd_col2><select name=ca_name required itemname="분류"><option value="">선택하세요<?=$category_option?></select></td></tr>
 

그런데 이 옵션의 값이 변경되었음에도, 리스트페이지에서는 option값이 변경되지 않은 채로 출력됩니다.

물론 새로 고침을 하면, 옵션값이 바뀌지만 번거로운 새로 고침을 할 필요없이

자동으로 새로고침을 하게 하려고 합니다.

write_update.skin.php에서 location.href로 주소값을 강제로 입력해줘도 변경이 되지 않는데

이런 경우, 어떻게 하면 새로 고침을 정상적으로 적용할 수 있을가요?

Copy
//write_update.skin.phpif ($w == "u" && $is_admin) {     $sql = " update $write_table set ca_name = '답변완료'                    $sql_password                      where wr_id = '$wr[wr_id]' ";     sql_query($sql);}alert("답변이 완료되었습니다." /*. $qstr*/);
Copy
//write.skin.php<div class='board_button'>            <input type=submit id="btn_submit" class=btn1 value='답변완료' accesskey='s' align='absmiddle'style="width:70px; height:30px;">&nbsp;</div>
 
|

답변 2개 / 댓글 5개

채택된 답변
+20 포인트
Copy
<?if (!preg_match("#{$_SERVER['PHP_SELF']}#",$_SERVER['HTTP_REFERER'])) { ?><script>location.reload();</script><? } ?>

답변에 대한 댓글 4개

write_update.skin.php 에 적용하는 게 맞죠?

흠...변경이 되어도 값은 여전히 적용이 되지 않네요 ㅎ......
리로드 해야될 페이지에 삽입하세요
흠...도와주시는데 list.skin.php에 사용하면 여전히 무한 리프레쉬에 걸리네요.
[code]

if ($w == "u" && $is_admin) {
$sql = " update $write_table set ca_name = '답변완료'
$sql_password
where wr_id = '$wr[wr_id]' ";
sql_query($sql);

alert("답변이 완료되었습니다." /*. $qstr*/);

echo "<script type='text/javascript'>top.document.location.reload();</script>";
//alert앞에 top을 reload하면 페이지 이동이 안 이루어짐.

}


//list.skin.php에서 보여지는 부분
<td class="sfont_kr" <? if($list[$i][ca_name] == "접수중"){ echo "style='color:#cc0000;'";}else{ echo "style='color:#c0c0c0;'";}?>><?=$list[$i][ca_name]?></td>
[/code]



write_update.skin.php 에서는 저렇게만 해서 보내는데, submit을 보내서 ca_name이 변경되었는데도 적용이 안 되네요..ㅎㅎ;;

location.reload() 

답변에 대한 댓글 1개

location.reload()를 하게 되면, 페이지를 무한으로 리프레쉬 시키더라구요.

echo "<script type='text/javascript'> alert('답변이 완료되었습니다.');top.document.location.reload();</script>";
이런식으로 작업을 하면 페이지 이동은 하지 않고 페이지만 변경시키고...ㅎㅎ

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