회원정보 여분필드에 값을 넣을려고 합니다. 채택완료

회원여분필드에 값을 넣을려고 합니다.

<input type="">~~~ 이렇게 넣는 것이 아닌 script 함수 안에서 값을 넣어야 합니다.

<script>

function test1() {
    /*sql_query(" update {$g5['member_table']} set mb_4 = '수강' where mb_id = '{$member['mb_id']}' ");*/


    $.ajax({
        url: g5_bbs_url+"/ajax.autosave1.php",
        data: {
            "id" : '{$member['mb_id']}'
        },
        type: "POST",
        
    });
}

</script>

이렇게 하고 ajax.autosave1.php 파일에

<?php
include_once('./_common.php');

if (!$is_member) die('0');

$id = isset($_REQUEST['id']) ? trim($_REQUEST['id']) : '';

sql_query(" update {$g5['member_table']} set mb_4 = '수강' where mb_id = '{$id}' ");

이렇게 넣었는데 값이 안들어가네요.

script 안에는 sql_query 함수를 바로 쓸수가 없었습니다. 이 부분만 되었다면 간단하게 되는데 script는 ajax로 해야 한다고 해서 위와 같이 했는데 값이 안들어가네요.....

회원여분필드 중 mb4에만 값 1개만 들어가면 되는 상황입니다.

ajax를 이용하는 방법 궁금합니다.

답변 1개

채택된 답변
+20 포인트

script 안에서 sql_query 형태로 표기하면 동작하지도 않고

서버의 로직을 사용자에게 공개하는 형태가 되기 때문에

그런 형태로 사용하지는 않습니다.

로그인 되어 있는 유저 대상이라면 POST 로 mb_id 값을 보내지 않아도

요청을 처리하는 ajax.autosave1.php 에서 세션값으로 자동 인식됩니다.

문제되는 상황은 다음처럼 테스트 해서 확인 해볼수 있습니다.

테스트가 완료되었거나 올바른 Ajax 호출을 위해서는 echo 부분을 지워야 합니다.

Copy
<?php
include_once('./_common.php');

if (!$is_member) die('0');

// $id = isset($_REQUEST['id']) ? trim($_REQUEST['id']) : '';

$query = " update {$g5['member_table']} set mb_4 = '수강' where mb_id = '{$member['mb_id']}' ";

echo $query;

sql_query($query);
로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

감사합니다. 알려주신 코드를 바탕으로 수정을 하였습니다.
ajax랑 sql_query/script 익숙하지 않아서 이번에 여러정보 찾아보게 된거 같습니다.

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

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

로그인
🐛 버그신고