php 휴대전화로
본문
안녕하세요 고수님들
위 사진처럼 작업을 하고싶은데요
동적리스트에서 해당값을 select 후 content 입력 및 send 처리를하면 휴대전화로 sms가 발송되는 페이지인데요
제가 구현을 하고싶은데 사진의 도메인에서 오픈소스를 받아서 진행하고있는데
동적리스트는 필요없어서 필요한 리스트만 구현해놓은 상황입니다.
왼쪽상단에 검색창도 한번 해봤구요
저는 자그마한 웹에이전시 회사다니는 3주된 웹개발자입니다..
잘모르고 부족하니 조금만 자세하게 상세하게 알 수 있게끔 답변해주시면 감사하겠습니다
아래에 소스 남기겠습니다
list code
<?
include_once('./_common.php');
$sql_order = " order by SEQ desc";
if($sfl == "PRICE"){
$search_common .= " and `PRICE` like '%".$keyword."%' ";
$qstr .= "&sfl=PRICE";
}
if($sfl == "PRICE_TIME"){
$search_common .= " and `PRICE_TIME` like '%".$keyword."%' ";
$qstr .= "&sfl=PRICE_TIME";
}
?>
<form method="GET" name="searchForm" action="<?=$PHP_SELF;?>" style="float:left;" class="local_sch01 local_sch">
<select name="sfl" id="sfl" style="padding : 3px;">
<option value="PRICE" <? if($_GET['sfl'] == "PRICE") echo "selected"; ?>>금액</option>
<option value="PRICE_TIME" <? if($_GET['sfl'] == "PRICE_TIME") echo "selected"; ?>>납기일</option>
</select>
<input name="keyword" type="text" class="frm_input" value="<?=$_GET['keyword'];?>" style="width:200px;" placeholder="검색어">
<input type="submit" value="검색" class="btn_submit">
</form>
<?
$sql = "select * from domains_list where `CHECK` ='ON'" ;
$result = sql_query($sql);
$opt_string="";
while ($row = sql_fetch_array($result)){
$opt_string.="<option >".$row['NAME']." , ".$row['SITE_OWNER']." ,".$row['SITE_OWNER_PHN']." , ".$row['SITE_OWNER_2'].", ".$row['SITE_OWNER_PHN_2']."</option>";
}
$params = "siteCode=".$siteCode."&subCode=".$subCode;
?>
<form name="sms_frm" method="post" action="./mb_sms/sms_action.php" onsubmit="return CheckSendSMS();">
<input type="hidden" name="siteCode" value="<?=$siteCode?>" />
<input type="hidden" name="subCode" value="<?=$subCode?>" />
<input type="hidden" name="mode" value="list" />
<input type="hidden" name="sms_byte" id="sms_byte" value="0" />
<input type="hidden" name="sms_code" id="sms_code" value="<?=$sms_code?>" />
<input type="hidden" name="receiver_cnt" id="receiver_cnt" value="<?=$receiver_cnt?>" />
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td width="170">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr><td height="52" style="background:url('/src/img/smsbg_01.gif') no-repeat;"> </td></tr>
<tr>
<td height="183" style="padding:0 15px 0 15px; background:url('/src/img/smsbg_02.gif') repeat-y;">
<div style="height:160px; background-color:#FFFFFF;">
<textarea name="sms_txt" id="sms_txt" rows="12" cols="20" style="width:140px; height:153px; overflow:hidden; border:none;" onkeydown="CheckSMSBytes(this);" onkeyup="CheckSMSBytes(this);" onfocus="FocusInputTxt(this);" onblur="BlurInputTxt(this);" isDefault="true">전송할 내용을 입력해 주세요.</textarea>
</div>
<div style="height:23px; background-color:#FFFFFF; text-align:center;">
<input type="submit" name="sBtn" value="전송" class="hand" />
</div>
</td>
</tr>
<tr><td height="52" style="background:url('') no-repeat;"> </td></tr>
</table>
</td>
<td style="padding-left:15px;" valign="top" width=360>
<select multiple name="receiver_list[]" id="receiver_list" style="width:350px; height:247px;"><?=$opt_string?></select><br />
<button type='button' class='btn btn-sm btn-danger' onclick="DeleteSelectedItem('');">삭제</button>
<button type='button' class='btn btn-sm btn-danger' onclick="DeleteSelectAll('');">전체삭제</button>
<span id="send_total"><span>
</td>
</tr>
</table>
</form>
<br />
sms_action code
<?
include_once('../_common.php');
$tbl = "inko_member_sms";
if($_POST){
foreach($_POST as $key => $value){
if(is_array($value)){
foreach($value as $k => $v){ $value[$k] = F_Injection($v); }
}else{ $_POST[$key] = F_Injection($value); }
}
$r_mode = $_POST['mode'];
$r_siteCode = $_POST['siteCode'];
$r_subCode = $_POST['subCode'];
F_isNull($r_mode);
F_isNull($r_siteCode);
F_isNull($r_subCode);
//리턴경로 설정
$return_url = _ADMIN_."?siteCode=".$r_siteCode."&subCode=".$r_subCode;
$r_ms_code = $_POST['sms_code'];
$r_byte = (int)$_POST['sms_byte'];
$r_cnt = $_POST['receiver_cnt'];
$r_message = $_POST['sms_txt'];
$r_tmp = array(); $i=0;
foreach($_POST['receiver_list'] as $key => $value){
$r_tmp[$i] = $value; $i++;
}
if(F_isblank($r_ms_code)){ F_goBack("발송 회원 구분이 넘어오지 않았습니다."); }
if($r_byte < 1){ F_goBack("전송할 내용이 넘어오지 않았습니다."); }
if(F_isblank($r_message)){ F_goBack("전송할 내용이 넘어오지 않았습니다."); }
if($r_cnt < 1){ F_goBack("전송할 회원정보가 넘어오지 않았습니다."); }
//한번에 전송가능한 최대 수 만큼 자르기(50명씩 자르기)
$i=0;
foreach($r_tmp as $key => $value){
$k = $key+1;
$tmp[$i][] = $value;
if($k%50==0){ $i++; }
}
$sql = "SELECT * FROM `inko_site_config`";
$inko_info = $db -> fetch($sql);
$sms_userid = $inko_info["sc_sms_id"];
$sms_passwd = $inko_info["sc_sms_pw"];
$sms_sender = $inko_info["sc_adm_mobile"];
$exc_time = time();
$receiver = "";
$total_cnt = 0;
for($i=0; $i<count($tmp); $i++){ //50개씩 나눈것 합쳐서 문자 발송
$sms_receiver = join(",", $tmp[$i]);
$sms_message = urlencode($r_message); //전송 메세지
$sms_url = "/MSG/send/web_admin_send.htm?";
$sms_url .= "userid=".$sms_userid."&passwd=".$sms_passwd."&sender=".$sms_sender."&receiver=".$sms_receiver; //파라메터 설정
$sms_url .="&message=".$sms_message."&encode=1"; //파라메터 설정
$return_data = F_SendSMS($sms_url);
$return_data = explode("|", $return_data);
$result = $return_data[0]; //전송결과
$send_no = $return_data[2]; //발송건수
$total_cnt += $send_no;
if($result < 9){ //요청된 회원수 만큼 발송중 에러 발생 시 디비에 결과 입력하고 되돌아가기
switch($result){
case "1" : $sr_txt = "메세지 전송에 실패하였습니다.(필수 파라메터 누락)"; break;
case "2" : $sr_txt = "메세지 전송에 실패하였습니다.(존재하지 않는 아이디)"; break;
case "3" : $sr_txt = "메세지 전송에 실패하였습니다.(비밀번호 불일치)"; break;
case "4" : $sr_txt = "메세지 전송에 실패하였습니다.(잔액부족)"; break;
case "5" : $sr_txt = "메세지 전송에 실패하였습니다.(수신 번호 오류)"; break;
case "6" : $sr_txt = "메세지 전송에 실패하였습니다.(보내는 번호 오류)"; break;
case "7" : $sr_txt = "메세지 전송에 실패하였습니다.(서비스 이용중지)"; break;
case "9" : default : $sr_txt = "문자가 전송되었습니다."; break;
}
$sql = "INSERT INTO `".$tbl."` SET ";
$sql .= "`ms_code` = '".$r_ms_code."', ";
$sql .= "`ms_send_date` = ".$exc_time.", ";
$sql .= "`ms_send_msg` = '".$r_message."', ";
$sql .= "`ms_send_rs_code` = ".$result.", ";
$sql .= "`ms_send_rs_txt` = '".$sr_txt."', ";
$sql .= "`ms_send_no` = '".$send_no."' ";
$db -> query($sql);
$msg = "전송중 문제가 발생했습니다.\\n\\n발송 건수 : ".$send_no."\\n\\nError Code :: ".$sr_txt;
F_goBack($msg, $return_url);
}
}
//요청된 회원 수만큼 정상적으로 발송이 되었으면 디비 입력 후 되돌아가기
$sr_txt = "문자가 전송되었습니다.";
$sql = "INSERT INTO `".$tbl."` SET ";
$sql .= "`ms_code` = '".$r_ms_code."', ";
$sql .= "`ms_send_date` = ".$exc_time.", ";
$sql .= "`ms_send_msg` = '".$r_message."', ";
$sql .= "`ms_send_rs_code` = ".$result.", ";
$sql .= "`ms_send_rs_txt` = '".$sr_txt."', ";
$sql .= "`ms_send_no` = '".$total_cnt."' ";
$db -> query($sql);
$msg = "전송되었습니다.\\n\\n발송 건수 : ".$total_cnt;
F_goBack($msg, $return_url);
}
?>
답변 1
저도 잘 하는 편은 아닌데 그냥 단순히 생각 하면
jquery 로 해야 할거 같고,
1. select 되어 있는 값을 선택시 select 값을 가져옴
2. 왼쪽 보낼 메시지 부분 sms_txt id 값에 select 값 집어 넣기
3. 들어가기 전에 문자 길이 (문자 전송은 단문과, 장문이 있는데 바이트 숫자 체크 하는 부분) 확인
4. 코드는 돌려 보지 않았지만 대충 다음 페이지로 전송 값 보냈을때 여러 전화번호가 있으면 작동 하는 부분은 있는 것으로 보아 여러개 전화번호에 문자가 가는지 확인
답변을 작성하시기 전에 로그인 해주세요.