묻고답하기

어렵네요.

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 남기남
김민순 본문내 이미지 클릭시 썸네일 에드온 정렬문제 file  
마리모 act=dispMemberSignUpForm 에 대해 질문드립니다. [1] 2010.12.09 by SeklutZ
thisgun 이미지 클릭시 확대이미지 나오는 문제입니다.  
의적당근 특정용량 다운로드 안되는 증상  
zappy2838 게시판 페이지 등 주소 클릭시 페이지 안열리는 현상 [1] 2010.12.09 by nabul2
nzeo초보 상단 메뉴바의 각 메뉴글자에 마우스를 갖다되어도 화살표마크가 안되는 현상 [3] 2010.12.09 by ForHanbi
당근로봇 이모티콘이 한종류 밖에 안나오네요 [1] 2010.12.09 by 백성찬
fear 텍스타일 댓글 삭제 문의. [1] 2010.12.08
thejeon 보류중인 이슈인데 확인좀 부탁드립니다. [1] 2010.12.08 by thejeon
thejeon 달력위젯, 월별 보관 현황 출력 다중게시판 연결 문제 [1] 2010.12.08 by thejeon
아이쿠야 익명게시판을 다시 일반게시판으로 변경하는 방법 [1] 2010.12.08 by 백성찬
배배야야 통합검색기능이 되지 않습니다. [1] 2010.12.08 by thejeon
도정현 우편번호 사용에 관해 도움을 청합니다. [1] 2010.12.08 by 백성찬
오탁 여기처럼 익명할려면어떻게하나요? [1] 2010.12.08 by thejeon
안수완 티스토리의 서식 기능과 같은 것을 XE 게시판에서 사용할 수 없나요? [1] 2010.12.08 by thejeon
아방스 쉬운설치 관련 오류.... file  
진아아빠 댓글이 등록되지 않습니다.. 도와주세요 [2] file 2010.12.08 by 진아아빠
mcury 캐시파일 재생성 후 사이트 접속이 되지 않습니다 [1] 2010.12.08 by 백성찬
상쾌한아침 1.442 업데이트후 게시판 글쓰기가 활성화 안되요 [2] 2010.12.08 by Hide_D
j.M 모바일뷰 블랙베리 지원하나요? [1] 2010.12.08 by 백성찬
apollos 다운로드 에서 리플 글쓰기가 안되는데요 ?? [1] 2010.12.08 by 백성찬
zidane2k 텍스타일 설치시 설치가 제대로 안됍니다.. [1] file 2010.12.08 by zidane2k
zieo 설치 내용 입력 후 설치 초기화면으로 다시 이동합니다  
tui 홈페이지 메인에 페이지설정 질문드립니다. [2] file 2010.12.08 by tui
실비757 invalid check score 오류가 있습니다;  
줏메. 스킨을 설치했는데  
Coridon 글쓰기 에디터의 줄 간격 추가하는 방법  
티요리 로그인 후 게시판에 들어가면 로그인이 풀리는 현상 [2] 2010.12.07 by TT PIC
남십자☆성 xe 1442 update후 관리자 접속화면 error  
우라늄한사발 게시판 링크는 어떻게 시키는건가요? [3] 2010.12.07 by thejeon