묻고답하기

어렵네요.

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 남기남
청♡풍™ 목록설정에서 표시항목 default 변경 방법없나요 file  
유저 xml 파일을 생성할 수는 없나요?  
튀긴건빵 카페xe 사이드바 위젯위치변경은 어떻게?  
thinkwolf 게시판 내용 정렬 문제... [1] 2009.05.01 by 닝기리쓰레빠
Badboy Layout 아래부분 [3] 2009.05.01 by 건즈
KRB 회원가입 인증메일  
니라어 글 수정이 안됩니다.ㄷㄷ [1] 2009.05.01 by 헐...
온에프디 갤러리형 게시판 문제점좀 찾아주세요 [1] 2009.05.01 by 도파돌이
Eavan♡AnG 모든 게시판에서 레벨아이콘이 안나오네요;;;; [1] 2009.05.01 by 넨네
이정주 (xpresseditor) 글 작성할 때, 엔터시 <p>테그로 먹히지 않게 하는 방법 [2] 2009.05.01 by 넨네
쌈꾼 1.22 업데이트후에...에러.. [2] 2009.05.01 by 온에프디
검하날 아이디 비번찾기 관련해서 궁금합니다.  
검하날 최근 글 목록 수 문제  
papasito 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요?  
Joongsya 재질문] 메인상단부분 여백조정 어디서 해야하는지?? [19] file 2009.05.01 by 비나무
온에프디 게시판이 고장났나봐요 (답변좀 해주세요~) [1] 2009.05.01 by 김유중345
하니 XE는 왜 자꾸 글을 보면 코멘트 쓰는 곳으로 내려가나요? [4] 2009.05.01 by 하니
장뚱이 업데이트 후 이모티콘이 안되네요. [4] 2009.05.01 by 김유중345
micky707 전체쪽지기능 [1] 2009.05.01 by 다니엘SEO
다니엘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 마이그레이션에서 포토게시판 전환작업을 할때 첨부파일이