아무리 생각해도 로직이 이해가 가지 않습니다. ㅠㅜ.

아무리 생각해도 로직이 이해가 가지 않습니다. ㅠㅜ.

QA

아무리 생각해도 로직이 이해가 가지 않습니다. ㅠㅜ.

답변 1

본문

<input type=button value='등업' onclick='check()'>


<script type="text/javascript">
 
function check()
{

alert("test");

 
 <?
 sql_query("update g4_member set mb_level='3' where mb_id='".$mb_id."'");  
 ?>
 
}
</script>​

 

member_form.php에서

등업버튼을 누르면 check() 함수가 실행되야되는데 그냥 새로고침(F5)번 누르면

sql문이 실행됩니다. 그래서 레벨이 3으로 바뀝니다. ㅠㅜ.

그런데 신기한건 alert 메세지가 안뜨면서 어떻게 sql이 실행되는지 의문입니다.

 

check버튼이 눌러져야 sql문이 실행되야 정상인데 새로고침으로 왜 실행되는지 모르겠습니다.

그래서 sql문을 지워보고 실행해보면 새로고침해도 alert함수가 실행안되네요. 원래 이게 정상이지요.

check버튼을 눌러보면 alert함수가 생각했다시피 실행됩니다.

 

문제는 sql에 문이 있으면 그때 생깁니다. 그냥 페이지 새로고침하면 check()함수가 실행되서 sql문이 실행되다니 ㅠㅜ.

로직이 이해가 잘 안가네요. sql이 실행된다면 alert함수도 실행되야 되는데 그건 또 실행안되공.

 

 

member_form.php에서 버튼을 클릭했을 때 회원 레벨을 변경해주는 게 이렇게 어렵다니요 ㅠㅜ.

 

이 질문에 댓글 쓰기 :

답변 1

ㅎㅎ

<?

~~~

?>

이건 서버에서 먼저 실행되어 처리가 완료된 후에 브라우저로 넘어오는 부분이기 때문에 브라우저에서는

저런 php소스가 존재하지않습니다(해당 페이지에서 소스보기해서 확인 해보세요)

 

아래 링크에 같은 질문 있으니 댓글 참고하세요

http://sir.co.kr/qa/?wr_id=27210&sfl=mb_id%2C2&stx=kt7264&page=2#answer_27256

 

 

 

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 125,873
© SIRSOFT
현재 페이지 제일 처음으로