DB 테이블에 데이터 저장에 대한 문의 올립니다.

DB 테이블에 데이터 저장에 대한 문의 올립니다.

QA

DB 테이블에 데이터 저장에 대한 문의 올립니다.

본문

안녕하세요..

 

스크랩 테이블에 ms_success, cupon_no, wr_name 이라는 필드를 추가하고, 

 

게시판의 view.skin.php 화일에서 입력된

 

$cupon_number, $write_name 값들을 출력 하면 정상적으로 출력이 됩니다.

 

제대로 출력되는 변수 값을

 

scrap_popin_update.php 화일 에서

 

아래처럼 쿼리문을 작성했는데,        

 

$sql = " insert into {$g5['scrap_table']}

                    set mb_id = '{$member['mb_id']}',

                         bo_table = '$bo_table',

                         wr_id = '$wr_id',

                         ms_datetime = '".G5_TIME_YMDHIS."',

                         ms_success = 0,

                         cupon_no = '$cupon_number',

                         wr_name = '$write_name' ";

 

sql_query($sql);

 

새로 만든 필드들의 값이 저장이 안되네요..(기존 필드값인 mb_id, bo_table, wr_id, ms_datetime 값들은 저장이 됩니다.)

 

view.skin.php 화일 내부에서

 

global $cupon_number, $write_name; 을 선언해도 저장이 않되네요. ㅠㅠ

 

왜 그럴까요? 고수님들의 조언 구합니다.


감사합니다.

이 질문에 댓글 쓰기 :

답변 3

scrap_popin_update.php 화일 에서  

sql_query($sql);  아래쪽에 

echo "sql = ". $sql ,"<br>";

echo "cupon_number = ". $cupon_number ,"<br>";

echo "write_name = ". $write_name ."<br>";

exit;

 

이렇게 추가해서 실행해보세요.

값이 넘어가는지...

$scrap_href <--여기서 지정하는 화일(scrap_popin.php)로 값을 전달하지 않는데

scrap_popin_update.php에 값이 전달 될 리가 없습니다 

 

버튼을 누르지 않고 view.skin.php 화일만 열어도 저장이 되어버립니다.. 그래서 하는 수 없이 <-- 이 방법이 간단한 방법입니다

 

버튼을 누르면 실행 되도록 view스킨에서 쿼리문에 조건 넣기---

if($wk=='cp'){

$write_name = $member[mb_name]; 

$sql=~~~

sql_query($sql);

}

아래처럼 form에 wk = cp 넣기

<form name='coupon' method='post'>

<input type='hidden' name='wk' value='cp'>

<input type='hidden' name='bo_table' value='<?=$bo_table?>'>

<input type='hidden' name='wr_id' value='<?=$wr_id?>'>

<input name='cupon_number' value=~~>

</form>

 

<button onclick="document.coupon.submit()" class='~~'>지금 혜택받기 </button>

 

추가 되어야할 기능은 한번 버튼을 누르면 다음부터는 버튼이 보이지않게 하거나 쿼리문이 실행 되지않게 하는 것(여분필드 wr_1에 기록하기)

 

 

그누 기본scrap_popin.php 화일에서는 스크랩을 저장하는 루틴이 없어서, 새롭게 스크랩을 하면 scrap_popin_update.php 에서 작업하는 것 같아서요...ㅠㅠ

$scrap_href 에 넘어가는 파라메터들이 어디에서 선언되어있는지 알려주실 수 있나요?

view.skin.php 화일에서 버튼을 눌러 처리하는 것 보다는 scrap 화일쪽에서 처리 되었으면 하는데, 어떻게 view 에서의 변수값을 scrap 쪽으로 넘겨줄 수 있는지  감이 안옵니다..

굳이 스크랩창을 띄워서 하려면
1. skin/member/basic/scrap_popin.skin.php 에서 form에 아래처럼 input box를 만들어 넣기
2.  자바스크립트로 view스킨에 입력된 값을 끌어오기

1.
<form name="f_scrap_popin"~~ <---이 폼에다 추가
<input type='hidden' name='coupon_number' value=''>
<input type='hidden' name=write_name' value=''>

2.
하단에 자바스크립트 추가(여기서 폼은 뷰페이지에서 쿠폰넘버 입력하는 폼이름 입니다)
<script>
document.f_scrap_popin.coupon_number.value = opener.document.폼.coupon_number.value;
document.f_scrap_popin.write_name.value = opener.document.폼.write_name.value;
</script>

write_name 은  위와 같이 입력할 필요없이 scrap_popin_update.php에서 $member[mb_name]이 입력 되도록하면 될텐데요??

빈값으로 나온다는 것은 넘어가지 않았다는 거죠.  그러니 저장이 안되는 것이고

view.skin.php  의 스크랩을 누르는 버튼의 소스에 cupon_number 와 write_name 값이 누락되었을껍니다. 

다시 확인해보세요

<?php {

        $sql = " insert into {$g5['scrap_table']}
                    set mb_id = '{$member['mb_id']}',
                        bo_table = '$bo_table',
                        wr_id = '$wr_id',
                        ms_datetime = '".G5_TIME_YMDHIS."',
                        ms_success = 0,
                        cupon_no = '$cupon_number',
                        wr_name = '$write_name' ";
} ?>

<button href="<?php echo $scrap_href;?>" target="_blank" class="btn btn-blue btn-lg" style="width:100%;" onclick="<?php sql_query($sql); echo($scrap_href) ? "win_scrap('".$scrap_href."');" : "alert('로그인이 필요한 서비스입니다.')"; ?>"> 지금 혜택받기 </button>

view.skin.php 화일에서 위와같이 하면 db에는 제대로 저장이 되는데, 버튼을 누르지 않고 view.skin.php 화일만 열어도 저장이 되어버립니다.. 그래서 하는 수 없이

변수들을 global 로 선언을하고 , scrap_popin_update.php 에서 처리하도록 하고 싶은데 전달이 되지 않네요..

답변을 작성하시기 전에 로그인 해주세요.
전체 9
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT