Js를 통해 ajax 통신을 하려고 하는데, 막혔습니다....
본문
sub.php
ajax.user_key_num.php
Error 화면
chrome debug
현재 new_key_num 과 now_login 데이터가 sub.php 에서 ajax.user_key_num.php 파일로 넘어가고 있는 상황 아닌가요 ..?
지금으로서는 db가 수정되지 않고 있습니다 ㅠㅠ 어디서 잘못된것인지 감을 못잡겠네요 ㅠ
답변 3
ajax.user_key_num.php 코드는 다음과 같이 작성하면 됩니다.
include_once('./_common.php');
$sql = "
update g5_member
set mb_key_num = '{$new_key_num}'
where mb_id = '{$now_login}'
";
$result = sql_query($sql);
↑ 위 소스로도 정상처리가 되지 않는다면..
같은 디렉토리에 _common.php 가 있는지 확인을 해보고, 없다면..
/의 common.php 를 include 할 수 있도록 변경해 줍니다. ex) include_once('../../../common.php');
그누보드의 common.php 에서 db 접속, POST, GET 변수 일반 변수화 처리등을 모두 하기 때문에..
새로 DB 접속하는 구문, POST 변수를 받아 일반 변수에 저장하는 부분은 common.php 가 제대로 include 되면 불필요한 부분입니다.
ajax.user_key_num.php 처리가 잘 되는지 손쉽게 확인하는 방법은, (디버깅하는 방법은)
브라우저에서 주소를 직접 입력하여 확인하는 방법입니다.
(ajax는 단지 백그라운드에서 처리될 뿐.. 처리일반은 일반 php 파일과 동일하다고 생각해도 됩니다.)
~/ajax.user_key_num.php?now_login=member1&new_key_num=1234
로 DB 에 업데이트가 잘 되는지.. 에러가 발생한다면 에러 메시지는 무엇인지 브라우저상에서 확인해 볼 수 있습니다.
db sql 문을 확인해 보고 싶다면 위 sql 문 다음에 echo $sql; 을 한줄 넣어줘도 됩니다.
점차 익숙해지면 크롬 개발자도구에서도 확인할 수 있는데.. 위 개발자 도구 화면에서 [Response] 쪽에서 확인할 수 있습니다. 에러메시지나 기타 메시지가 아무것도 안나온다면.. 현재 php 환경설정이 에러메시지 표시하지 않음이라 그럴 수 있습니다. 그 부분은 php 환경설정을 변경하거나, 또는 에러메시지 표시구문을 넣어줘도 됩니다. http://blog.freezner.com/archives/279
!-->우선
ajax.user_key_num.php 에 있는 소스 다 주석처리 시키고
echo로 '1' 찍어보고
succes : function(data){
이쪽에서 alert(data) 찍어보세요
}
알럿창에 1 이 나오면 경로가 제대로 된것이고 아니라면 경로부터 다시 확인해보셔야 합니다.
ajax.user_key_num.php 의 POST 값을 임시값으로 넣고
ajax.user_key_num.php 를 실행시켜 update 쿼리가 잘 돌아가나 확인해 보세요.
근데 root 패스워드가 1234 인가요?
저게 되나?
예전에 얼핏 보안상 저런 패스워드는 등록은 되나 로그인이 안되었던걸루 기억하는데... 아닌가?