본문이나 리스트에서 바로 내용 수정시 문자 발송하게 하기 문의 드립니다.
본문
안녕하세요.
검색하여 아래와 같은 방법으로 본문-수정을 거치지 않고 내용 바로 수정가능하게 하려고 합니다.
1.
본문(view)에서 바로 수정.
<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
if($wr_10){
sql_query("update $write_table set wr_10='$wr_10' where wr_id='$wr_id'");
$view['wr_10'] = $wr_10;
}
?>
<script>
$(function(){
$("input:radio[name='wr_10']").click(function(){
location.href="도메인/bbs/board.php?bo_table=<?php echo $bo_table?>&wr_id=<?php echo $wr_id?>&wr_10="+$(this).val();
});
});
</script>
<input type="radio" name="wr_10" value="1" <?php echo ($wr_10 == "1" || $wr_10 == "") ? " checked" : "";?> class="frm_input0" id="wr_10"> 1
<input type="radio" name="wr_10" value="2" <?php echo ($wr_10 == "2") ? " checked" : "";?> class="frm_input0" id="wr_10"> 2
<input type="radio" name="wr_10" value="3" <?php echo ($wr_10 == "3") ? " checked" : "";?> class="frm_input0" id="wr_10"> 3
원하는대로 수정은 되고 있습니다.
그런데 기존에는 내용 수정을 하면 write_update.skin.php에 설정한대로 문자가 발송되는데,
이렇게 수정하면 문자 발송이 안되네요.
2.
리스트에서 바로 수정.
list.skin.php에 아래 내용 추가
<select name="wr_10" id="wr_10_<?php echo $i;?>" onchange="wr10_chk('<?php echo $i;?>','<?php echo $list[$i]['wr_id'];?>',this.value);">
<option value="" >예약상태</option>
<option value="1" <? if($list[$i]['wr_10'] == '1') echo " selected "; ?>>1</option>
<option value="2" <? if($list[$i]['wr_10'] == '2') echo " selected "; ?>>2</option>
<option value="3" <? if($list[$i]['wr_10'] == '3') echo " selected "; ?>>3</option>
</select>
<script>
var wr10_chk = function(wr_num,wr_id,field) {
$.ajax({
type:"post",
url:"<?php echo $board_skin_url;?>/list_up.php",
data:
{
bo_table : g5_bo_table,
wr_num : wr_num,
wr_id : wr_id,
wr_10 : field
},
dataType:"html",
success:function(res){
$("#wr_10_"+wr_num).val(res);
if(res)
alert(res+"(으)로 변경되었습니다");
else
alert("변경 실패");
}
});
}
</script>
list_up.php (게시판 스킨 폴더에 추가)
==========
<?php
include_once("./_common.php");
$write_table = $g5['write_prefix'].$_POST['bo_table'];
$sql = " update ".$write_table." set wr_10 = '".$_POST['wr_10']."' where wr_id = '".$_POST['wr_id']."' ";
sql_query($sql);
$sql = "select * from ".$write_table." where wr_id = '".$_POST['wr_id']."' ";
$row = sql_fetch($sql);
if($row['wr_10'])
echo $row['wr_10'];
else
echo '';
이것 역시 원하는대로 수정은 되고 있습니다.
(단, 1번은 수정시 수정 내용이 바로 적용되는데, 이건 수정하고 새로고침해야 수정된 내용을 확인 할 수 있습니다.)
이것 역시 문자 발송이 안되서 list_up.php 내용하단에 write_update.skin.php 에 있는 문자 보내기 설정 내용을 넣었지만 역시나 작동을 하지 않습니다.
아래는 write_update.skin.php의 문자 보내기 부분입니다.
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
$wr_3 = "$tel1-$tel2-$tel3";
$sql3 = "update $write_table set wr_3 = '$wr_3' where wr_id = '$wr_id' ";
sql_query($sql3);
$wr_url = get_pretty_url($bo_table, $wr_id);
$wr_url = str_replace($bo_table, $bo_table . '1', $wr_url);
$sms_contents = "문자내용";
$sms_title = "타이틀;
$sms_title2 = "타이틀";
if ($wr_10 == "2") {
$sms_contents2 = "문자내용";
}
if ($wr_10 == "3") {
$sms_contents2 = "문자내용";
}
$receive_number = preg_replace("/[^0-9]/", "", $sms5['cf_phone']); // 수신자번호
$send_number = preg_replace("/[^0-9]/", "", $sms5['cf_phone']); // 발신자번호
$receive_number2 = preg_replace("/[^0-9]/", "", $wr_3); // 고객번호
if( $w=="" && !$is_admin ) {
if ($config['cf_sms_use'] == 'icode')
{
if($config['cf_sms_type'] == 'LMS') {
include_once(G5_LIB_PATH.'/icode.lms.lib.php');
$port_setting = get_icode_port_type($config['cf_icode_id'], $config['cf_icode_pw']);
// SMS 모듈 클래스 생성
if($port_setting !== false) {
$SMS = new LMS;
$SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $port_setting);
$strDest = array();
$strDest[] = $receive_number;
$strCallBack = $send_number;
$strCaller = iconv_euckr(trim($config['cf_title']));
$strSubject = iconv_euckr($sms_title);
$strURL = '';
$strData = iconv_euckr($sms_contents);
$strDate = '';
$nCount = count($strDest);
$res = $SMS->Add($strDest, $strCallBack, $strCaller, $strSubject, $strURL, $strData, $strDate, $nCount);
$SMS->Send();
$SMS->Init(); // 보관하고 있던 결과값을 지웁니다.
}
} else {
include_once(G5_LIB_PATH.'/icode.sms.lib.php');
$SMS = new SMS; // SMS 연결
$SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $config['cf_icode_server_port']);
$SMS->Add($receive_number, $send_number, $config['cf_icode_id'], iconv_euckr(stripslashes($sms_contents)), "");
$SMS->Send();
$SMS->Init(); // 보관하고 있던 결과값을 지웁니다.
}
}
}
// 2, 3
if($w=="u" && $is_admin ) {
if ($config['cf_sms_use'] == 'icode')
{
if($config['cf_sms_type'] == 'LMS') {
include_once(G5_LIB_PATH.'/icode.lms.lib.php');
$port_setting = get_icode_port_type($config['cf_icode_id'], $config['cf_icode_pw']);
// SMS 모듈 클래스 생성
if($port_setting !== false) {
$SMS = new LMS;
$SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $port_setting);
$strDest = array();
$strDest[] = $receive_number2;
$strCallBack = $send_number;
$strCaller = iconv_euckr(trim($config['cf_title']));
$strSubject = iconv_euckr($sms_title2);
$strURL = '';
$strData = iconv_euckr($sms_contents2);
$strDate = '';
$nCount = count($strDest);
$res = $SMS->Add($strDest, $strCallBack, $strCaller, $strSubject, $strURL, $strData, $strDate, $nCount);
$SMS->Send();
$SMS->Init(); // 보관하고 있던 결과값을 지웁니다.
}
} else {
include_once(G5_LIB_PATH.'/icode.sms.lib.php');
$SMS = new SMS; // SMS 연결
$SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $config['cf_icode_server_port']);
$SMS->Add($receive_number2, $send_number, $config['cf_icode_id'], iconv_euckr(stripslashes($sms_contents2)), "");
$SMS->Send();
$SMS->Init(); // 보관하고 있던 결과값을 지웁니다.
}
}
}
어떻게 해야 1번이나 2번 사용시 문자보내기가 가능할까요?
아시는 분 도움 주시면 정말 감사하겠습니다.
답변 4
저기보면 문자 내용 이랑 그런거 한글로 써있는데 그대로 기재하면 될거에요
밑에 api 로 연결된 부분 기능은 냅두시구요~ 그대로 위에 변수에 기재만 하면되요
write_update.skin.php은 수정페이지서 수정했을때만 실행됩니다.
write_update.skin.php의 내용을 함수로 만들어서 wr_10이 수정되는곳에 각각 넣는방식으로 변경하셔야합니다
답변을 작성하시기 전에 로그인 해주세요.