CI 묻고 답하기

제목 sms발송 모듈의 CI적용 방법 문의 드립니다.
글쓴이 꾸숑 작성시각 2013/04/19 20:24:39
댓글 : 1 추천 : 0 스크랩 : 0 조회수 : 16816   RSS

현재 SMS모듈을 CI에 적용해서 구현은 했습니다.

현재 SMS모듈
controllers/admin/sms.php
view/admin/sms_main.php (발송폼)
include/sms/sms_process.php (발송처리)
include/sms/nusoap_tong.php (sms_process.php로 include됨)

문제는 CI의 MVC모델에 맞게 제작 되있지 않아 찜찜 합니다.
꼼수로 문제를 처리 해서...

폼(view/admin/sms_main_view.php)에서 post(include/sms/sms_process.php)방식으로 데이터를 보내서 SMS를 발송하는데
sms_process.php파일을 views에 위치 시키고 싶습니다.

그러면 view(view/admin/sms_main_view.php)에서  view(view/admin/sms_process.php) 로 데이터를 
post로 가져와야 하는데 어떤 방식으로 해야 할까요?

모델을 사용해왔는데 사용않하고 처리 할라니 머리가 어지럽네요

보통은 db처리를 하기 위해서 models에서 처리 했지만 이번 경우는 SMS모듈 제공회사의 서버를 이용하므로 다른상황이네요

부탁드립니다.

///////////////////////////////////////////////////////////////
sms.php
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');

class Sms extends CI_Controller{

 function Sms(){
      parent::__construct();
   $this->load->model('admin/site_config_model');
   $this->load->model('admin/sms_model');
   $this->load->helper(array('form', 'url', 'directory','alert'));
   $this->load->library(array('tank_auth','form_validation'));
 }

 public function _remap($method)
 {
     $site=$this->site_config_model->site();
     $this->load->view('admin/top_view',$site);

  if( method_exists($this, $method) )
  {
   $this->{"{$method}"}();
  }
  $this->load->view('admin/foot_view');
 }

 function sms_main(){
   $this->load->view('admin/sms_main_view');
    }

//////////////////////////////////////////////////////////////////////////////
sms_main_view.php
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
<script language="javascript">
<!--
function frm_submit() {
 document.frm_sms_process.submit();
}
-->
</script>
<html>
<form name="frm_sms_process" method="post" action="http://localhost/board_tank/include/sms/tong/sms_process.php">
<table width="50%" border="1">
 <tr>
  <td align="center">발신자번호</td>
이하생략...

//////////////////////////////////////////////////////////////////////////////////////////////
sms_process.php
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
<?php
 include_once('nusoap_tong.php');
 $snd_number=$_POST["snd_number"];  //보내는 사람 번호를 받음
 $rcv_number=$_POST["rcv_number"];   //받는 사람 번호를 받음
 $sms_content=$_POST["sms_content"];   //전송 내용을 받음
 $reserve_date=$_POST["reserve_date"];  //예약 일자를 받음
 $reserve_time=$_POST["reserve_time"];   //예약 시간을 받음
이하생략...

 

태그 view,sms
 다음글 Model호출 에러 (11)
 이전글 기존 시스템과 세션공유 (2)

댓글

꾸숑 / 2013/04/19 21:13:38 / 추천 0

// 휴 해결 했습니다.
콘트롤러 나 뷰에서도 db를 다루지 않더라도 아래와 같이 post 값을 받고 주고 할수 있군요
나름 CI가 융통성?이 있어 보이네요..
이로서 sms모듈을 완벽하게 mvc모델로 만들었네요
나름 고생끝에 낙이 있군요..

참고로 저를 젤 많이 괴롭힌것은 sms클래스를 sms모듈에서 사용하는 바람에 제가 만든 sms클래스와 충돌하여서 저를 미치기 일보 직전으로 몰고 갔네요... 엉엉!

그리고 한가지 보통 일반php에서  include_once('nusoap_tong.php'); 이런형식으로 include를 사용하는데
ci에서 views에 있는것을 이런 형태로 불러오지 못합니다. 아래 형식으로 views에서 views로 로드 할수 있습니다.
 $this->load->view('admin/nusoap_tong');

///////////////////////////////////////////////////////////////////////////////////////////////////
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');

class Smss_model extends CI_Model {

     // 모델 생성자 호출
    function smss_model(){
       parent::__construct();
    }

 function index(){
    }

 function process(){
    $data = array(
  'snd_number' => $this->input->post('snd_number') ,
  'rcv_number' => $this->input->post('rcv_number') ,
  'sms_content' => $this->input->post('sms_content') ,
  'reserve_date' => $this->input->post('reserve_date') ,
  'reserve_time' => $this->input->post('reserve_time') ,
   );
  return $data; 
 }
}
?>