| 제목 | 접속자가 열어본 페이지 남기는 모델 만들었는데 문제가 좀 ㅠ_ㅠ | ||
|---|---|---|---|
| 글쓴이 | 반페르시 | 작성시각 | 2012/04/25 09:15:22 | 
|  | |||
| 간단하게 url남기는건데 CI로 구성할려니깐 초보인 저에게 여러모로 힘이 드네요 ㅠ_ㅠ 원래 php에서 쓰는 소스는 아래와 같은데요. 
include "/dbconfig.php" ;
 $conn = mysql_connect($mysql_host, $mysql_user, $mysql_password) ;
 $select_db = mysql_select_db($mysql_db, $conn) ;
 $query = "INSERT INTO fromurl(page, ip ,regdate) 
VALUES('".$_SERVER["PHP_SELF"]." ' , '$_SERVER[REMOTE_ADDR]', now())" ;
 @mysql_query($query);
 if($conn) mysql_close() ;이걸 CI 모델에서 Fromurl_m이라는 모델을 만들어주고 
<?php
class Fromurl_m extends CI_Model { 
 function __construct() {
  parent::__construct();
        //$this->fd_insert(); 
 }
    function fd_insert(){
  $db_az=$this->load->database('AD2012',true);
  $param=array(
   'page'=>$_SERVER['PHP_SELF'],
   'ip'=>$_SERVER['REMOTE_ADDR'],            
   'regdate'=>date('Y-m-d H:i:s') 
  );        
  $db_az->insert( 'mom_fromurl', $param );
    }
}요렇게 넣고 autoload에서 $autoload['model'] = array('fromurl_m'); 이렇게 자동으로 로드되게 불렀는데접속한 url이 쌓이긴 하는데 페이지에 들어있는 인쿠르드된 url까지 다 디비로 인서트 시켜요 ㅠ_ㅠ 접속한 페이지 url만 남기고 싶은데 뭐가 문제인지 모르겠습니다. 고수님들 조언 부탁 드려요 | |||
| 다음글 | [초보]마이그레이션 (2) | ||
| 이전글 | restful 질문드립니다.. (2) | ||
| 
                                배강민
                                /
                                2012/04/25 10:09:10 /
                                추천
                                0
                             
                                 위 모델을 호출하는 부분까지 보여주셔야 파악이 가능할듯 싶은데요
                             | 
| 
                                반페르시
                                /
                                2012/04/25 10:20:42 /
                                추천
                                0
                             
                                모델 호출하는 부분이 config/autoload.php에서요 모델 오토 로드하는쪽이에요 ㅠ 
/*
| -------------------------------------------------------------------
|  Auto-load Models
| -------------------------------------------------------------------
| Prototype:
|
| $autoload['model'] = array('model1', 'model2');
|
*/
$autoload['model'] = array('fromurl_m');
/* End of file autoload.php */
/* Location: ./application/config/autoload.php */ | 
| 
                                배강민
                                /
                                2012/04/25 10:29:37 /
                                추천
                                0
                             
                                 아 저 fd_insert 주석이 사실을 오픈된 상태에서 autoload에 추가하신건가요? 그렇게 되있는 상황이라면 해당 페이지에서 호출하는 모든 것들에서 다 저 fd_insert가 실행될듯합니다. 해보진않았지만..ㅋ autoload로는 저 모델을 추가해서 객체생성까지만 하고 필요하신 부분에만 실행하시던가. 모든 페이지 (인클루드 미포함)에서 돌게 하고자 하신다면 hook을 이용하거나해야할것 같은데요 아니면 공용 라이브러리로 빼서 autoload에 걸어도 될듯합니다. 또.. 인클루드라고 하시는게.. include 를 이용해서 다른 컨트롤러를 넣으신건가요? 이렇게 구성된 상태라면 인클루드된 파일안에서도 autoload가 일어나고, 부모 파일에서도 일어나니..그럴거 같은데요 | 
| 
                                한대승(불의회상)
                                /
                                2012/04/25 10:44:57 /
                                추천
                                0
                             
                                현재 DB에 쌓이고 있는 주소 형식이 어떤 형태인데... 어떤 형식으로 쌓였으면 좋겠다는 건가요? 예시를 보여주면 좀 더 도움을 드릴 수 있을것 같네요. | 
| 
                                반페르시
                                /
                                2012/04/25 11:33:07 /
                                추천
                                0
                             
                                KangMin님 답변 감사합니다. 저기 주석은 오픈 한 상태에서 오토로드하니깐 전부 나오는거 같습니다.ㅠ 참고해서 수정하겠습니다. 불의화상님 답변 감사합니다. 지금 원하는 url형식은 /index.php/test/test_view 이런식인데 지금은 뷰페이지를 본다하면 /index.php/test/test /index.php/test/sub_menu1 /index.php/test/sub_title.jpg /index.php/test/test_view 이런식으로 쌓입니다. | 
| 
                                한대승(불의회상)
                                /
                                2012/04/25 13:15:26 /
                                추천
                                0
                             
                                반페르시// 그렇군요. autoload 에 집어 넣게 되면 모든 요청에 대해 CI가 모델을 로드 하게 됩니다. 컨트롤로 생성자에 모델을 로드 하는 부분을 집어 넣으면 해결 될 것 같습니다. |