묻고답하기

어렵네요.

2009.04.30 22:58

장우성

안녕하세요,  다음과 같은 프로그램이 있습니다.

이 코딩은 플래시의 액션 스크립트 입니다. 창에 어떤 내용을 입력하고 단추를 클릭하면 이 함수가 호출됩니다.

그럼 입력된 내용이 test.php에 전달되어 데이타 베이스에 기록되게 하려고 합니다.  

test.php는 document.controller.php에서 따온 코딩입니다.

제가 알고 싶은 부분은 이 플래시 코딩에서  php로 어떤 변수를 어떻게  넘기는가? 하는 것입니다. 데이터 베이스의 어느 필더 

에 기록될 것인지를 어떻게 코팅하나요? 

코딩을 보니   $obj가 변수 인것 같은데 여기에 플래시 창에 쓴  내용을 실은 수 있을까요?

감사합니다.


// 액션 스크립트

on (release)
{
       loadVariablesNum("http://e-writing.com/test.php",0,"post");
       content="";
       System.setClipboard("Chapter " + chapter + "  Unit " + unit + "  " + title + "\r\n" + allcontent);
       getURL("javascript:window.self.close()");
    
}

// 액션 스크립트 끝


// test.php 시작

<?php
   
        function insertDocument($obj, $manual_inserted = false) {
            // begin transaction
            $oDB = &DB::getInstance();
            $oDB->begin();

            // 기본 변수들 정리
            if($obj->is_secret!='Y') $obj->is_secret = 'N';
            if($obj->allow_comment!='Y') $obj->allow_comment = 'N';
            if($obj->lock_comment!='Y') $obj->lock_comment = 'N';
            if($obj->allow_trackback!='Y') $obj->allow_trackback = 'N';
            if($obj->homepage &&  !preg_match('/^[a-z]+:\/\//i'+ '+ ',$obj->homepage)) $obj->homepage = 'http://'.$obj->homepage;
            if($obj->notify_message != 'Y') $obj->notify_message = '+ 'N';

            // $extra_vars를 serialize
            $obj->extra_vars = serialize($obj->extra_vars);

            // 자동저장용 필드 제거
            unset($obj->_saved_doc_srl);
            unset($obj->_saved_doc_title);
            unset($obj->_saved_doc_content);
            unset($obj->_saved_doc_message);

            // 주어진 문서 번호가 없으면 문서 번호 등록
            if(!$obj->document_srl) $obj->document_srl = getNextSequence();

            // trigger 호출 (before)
            $output = ModuleHandler::triggerCall('document.insertDocument', 'before', $obj);
            if(!$output->toBool()) return $output;

            $oDocumentModel = &getModel('document');

            // 카테고리가 있나 검사하여 없는 카테고리면 0으로 세팅
            if($obj->category_srl) {
                $category_list = $oDocumentModel->getCategoryList($obj->module_srl);
                if(!$category_list[$obj->category_srl]) $obj->category_srl = 0;
            }

            // 조회수, 등록순서 설정
            if(!$obj->readed_count) $obj->readed_count = 0;
            $obj->update_order = $obj->list_order = getNextSequence() * -1;

            // 수동입력을 대비해서 비밀번호의 hash상태를 점검, 수동입력이 아니면 무조건 md5 hash
            if($obj->password && !$obj->password_is_hashed) $obj->password = md5($obj->password);

            // 수동 등록이 아니고 로그인 된 회원일 경우 회원의 정보를 입력
            if(Context::get('is_logged')&&!$manual_inserted) {
                $logged_info = Context::get('logged_info');
                $obj->member_srl = $logged_info->member_srl;
                $obj->user_id = $logged_info->user_id;
                $obj->user_name = $logged_info->user_name;
                $obj->nick_name = $logged_info->nick_name;
                $obj->email_address = $logged_info->email_address;
                $obj->homepage = $logged_info->homepage;
            }

            // 제목이 없으면 내용에서 추출
            settype($obj->title, "string");
            if($obj->title == '') $obj->title = cut_str(strip_tags($obj->content),20,'+ '...');
            //그래도 없으면 Untitled
            if($obj->title == '') $obj->title = 'Untitled';

            // 내용에서 XE만의 태그를 삭제
            $obj->content = preg_replace('!<\!--(Before|After)(Document|Comment)\(([0-9]+),([0-9]+)\)-->!is', '', $obj->content);

            // 세션에서 최고 관리자가 아니면 iframe, script 제거
            if($logged_info->is_admin != 'Y') $obj->content = removeHackTag($obj->content);

            // 로그인정보가 없고 사용자 이름이 없으면 오류 표시
            if(!$logged_info->member_srl && !$obj->nick_name) return new Object(-1,'msg_invalid_request');

            $obj->lang_code = Context::getLangType();

            // DB에 입력
            $output = executeQuery('document.insertDocument', $obj);
            if(!$output->toBool()) {
                $oDB->rollback();
                return $output;
            }

            // 등록 성공시 확장 변수 등록
            $extra_keys = $oDocumentModel->getExtraKeys($obj->module_srl);
            if(count($extra_keys)) {
                foreach($extra_keys as $idx => $extra_item) {
                    $value = '';
                    if(isset($obj->{'extra_vars'.$idx})) $value = trim($obj->{'extra_vars'.$idx});
                    elseif(isset($obj->{$extra_item->name})) $value = trim($obj->{$extra_item->name});
                    if(!isset($value)) continue;
                    $this->insertDocumentExtraVar($obj->module_srl, $obj->document_srl, $idx, $value, $extra_item->eid);
                }
            }

            // 성공하였을 경우 category_srl이 있으면 카테고리 update
            if($obj->category_srl) $this->updateCategoryCount($obj->module_srl, $obj->category_srl);

            // 공지사항 글이면 공지사항 캐시 업데이트
            if($obj->is_notice == 'Y') $this->updateDocumentNoticeCache($obj->module_srl);

            // trigger 호출 (after)
            if($output->toBool()) {
                $trigger_output = ModuleHandler::triggerCall('document.insertDocument', 'after', $obj);
                if(!$trigger_output->toBool()) {
                    $oDB->rollback();
                    return $trigger_output;
                }
            }

            // commit
            $oDB->commit();

            // return
            $this->addGrant($obj->document_srl);
            $output->add('document_srl',$obj->document_srl);
            $output->add('category_srl',$obj->category_srl);
            return $output;
        }

?>
 

글쓴이 제목 최종 글
XE 공지 글 쓰기,삭제 운영방식 변경 공지 [16] 2019.03.05 by 남기남
다니엘SEO 헉! 업뎃 후 문제가... [2] 2009.05.01 by 다니엘SEO
ceg firebird2.1 을 사용할려고 하는데 활성화가 되지 않네요.  
재택알바 급해요!! 지금 관리자가 안들어가져요 [3] 2009.05.01 by notre
신채호240 관리자모드 setting에서 [1] 2009.05.01 by 피키4
김바오로 레이아웃 가로메뉴 상단위에 내가만든 이미지나 플래시넣는 방법좀 제발 알려주세요 [1] 2009.04.30 by 온에프디
하선비 제로홈 최근게시물 어떻게 하나요. [2] file 2009.04.30 by 하선비
이형구704 1.2.2 버전 하위폴더 없이 다운받을수 있을까요;;; 부탁의글 [3] 2009.04.30 by 다니엘SEO
장우성 어렵네요.  
이슈트래커 이슈트래커 질문이요! [1] 2009.04.30 by 피키4
se루돌프 메뉴와 분류쪽 추가 및 수정이 안되는 문제 [4] file 2009.04.30 by se루돌프
Qwiff 마이그레이션에서 포토게시판 전환작업을 할때 첨부파일이  
으아악. 로그인 위젯을 다운 받았는데 어떻게 적용하는지 방법좀 알려주세요 [3] 2009.04.30 by 캉호
구기지 진아아빠님 죄송하지만 질문 다시 한번 더 드릴게여 [2] file 2009.04.30 by 구기지
더글더글 닉네임이미지 설정 [2] 2009.04.30 by 더글더글
bluesunwon 회원연동 [2] 2009.04.30 by bluesunwon
고릴라2 뉴질랜드 에서..홈페이지 메인 초기화면 에 들어갈 코너 디자인 을 의뢰 하고 싶습니다 [1] 2009.04.30 by 건즈
건즈 블로그 api/blog api에 접속하니 이런 페이지가  
구기지 꼭!!좀 답변 부탁드리겠습니다. [6] file 2009.04.30 by 구기지
밀래 플래쉬로 XML데이타를 가지고 가려 하는데 1.2.0이후로 확장변수 테이블이 넣기..  
쿄우짱짱 언어변경 말입니다. [1] 2009.04.30 by thejeon
세르 XE 기본 게시판 스킨에 레벨 아이콘을 달고 싶습니다! [1] 2009.04.30 by 허당™
날다나무 홈페이지 로긴오류  
파란벌레 책갈피 기능  
켄트이즈 본문내용에 이미지 첨부시  
매실茶 IE8에서 이렇게 보이는 건 버그인가요? [2] file 2009.04.30 by 매실茶
김재원687 1.0.4 에서 1.1.5로 업데이트하려고 하는데요.  
flon 상태표시줄에 스크립트를 넣었는데 실행하면 안보여요  
댓글이 댓글 정렬방식 [2] 2009.04.30 by 댓글이
hakyuhakyu 이미지 이름 기능이 안됩니다. [1] 2009.04.30 by gold.geum
Jihyuk 완전 초보인데요. 홈피 문제좀 봐주세요..ㅠㅠ