티스토리 뷰

Programing

플래시로 DB연동하쟈! 3탄!

애플자라 2007. 8. 29. 23:59
반응형
플래시로 DB 연동하쟈! 3탄

안녕하세요~ 조금 늦었죠? 어제(2006년 10월 21일) 제가 만든 게임이

드디어 싸이 월드에 올라가게 되었습니다. 그것때문에 조금 바빠서 이

렇게 늦어지게 되었습니다..^^;;
그럼 어디 본격적으로 시작해볼까요? 오늘은 지난 시간에 얘기했던대

로 플래시에서 LoadVard 클래스를 사용하여 데이터를 외부로 전송 하

는 방법을 알아봅시다.
플래시에서 외부데이터를 가져오거나 플래시의 데이터를 외부로 전송

할때는 LoadVard 클래스를 사용합니다.
클래스에는 속성과 매서드라는것이 있지요? 여기에서 모르는 분들을

위하여 잠시~ 속성은 개체의 상태 등을 나타내는 것이고 매서드는 개

체의 행동을 나타내는 것 입니다. 예를 들자면 사람이라는 개체는 이

름, 성별, 나이 등의 속성이 있고 걷기, 앉기, 뛰기 등의 매서드가 있

다고 생각하시면 됩니다. 그럼 이제 LoadVard 클래스의 매서드와 속성

을 알아 봅시다.

LoavVars 클래스의 매서드
1. addRequestHeader() : HTTP 헤더를 추가하거나 변경함.
2. getBytesTotal() : load 혹은 sendAndLoad 매서드를 실행할때 전송

받을 총 바이트수
3. getBytesLoaded() : load 혹은 sendAndLoad 매서드를 실행할때 전

송받는 바이트수
4. load() : 지정된 URL에서 데이터를 전송받음(중요!)
5. send() : LoadVars 인스턴스의 데이터를 웹페이지로 전송
6. sendAndLoad() : LoadVars 인스턴스 내부의 변수를 전송하고 결과

값은 받아옴(중요!)
7. toString() : LoadVars 인스턴스의 내부데이터를 문자열로 변환

LoavVars 클래스의 속성
1. contentType : 데이터의 MIME형식을 나타냄
2. loaded : load()나 sendAndLoad()매서드를 실행할 때 데이터를 모

두 전송받았는지를 true 혹은 false로 나타냄(중요!)

LoavVars 클래스의 이벤트
1. onData : 전송되는 과정에서 에러가 발생하거나 전송이 모두 완료

되었을때 발생(에러가 없다면 onLoad와 동일)
2. onLoad : 전송이 모두 완료되면 발생(중요!)

다른것들은 이런것들이 있구나 하고 알고 계시면 되는 정도 이지만 뒤

쪽에 (중요!)라고 적은 것들은 자주 쓰이는 것들이니 알아두시기 바랍

니다..^^

※ 외부 데이터의 형식
지난번에도 얘기한적이 있던 외부데이터의 형식에 관한 것입니다.
일단 기본적으로 외부에서 플래시로 넘어오게 될 데이터의 형식은 &변

수=값&변수=값& 의 형태로 출력 합니다. 마지막 &는 생략할수도 있지

만 &로 마무리를 지어주어야 에러를 줄일 수 있습니다.
만약 &가 없다면 뒷부분에 값이 더있는걸로 판단하고 개행문자(엔터)

를 읽어오는 경우가 간혹 발생하곤 합니다. 이때에 전송하는 데이터가

한개뿐이라면 그다지 문제가 없을지도 모르지만 2개이상일 경우는 문

제가 발생하게 되므로 마지막에 &로 종료하는 습관을 가지시기 바랍니

다. 개인적으로 제가 추천하는 방법은
&변수=값&
&변수=값&
&변수=값&
의 형태를 추천 합니다. 보기도 편하고 에러도 없습니다..^^

LoavVars 클래스의 사용법
이제 본격적으로 LoavVars 클래스를 사용해서 데이터 전송을 해봅시다

.
1. 외부데이터 불러오기
ex)
text문서 작성
&myText=Hi~&
myData.txt로 저장

text_ins = new LoadVars();
test_ins.onLoad = function(success) {
  trace(this.myText);
}
test_ins.load("myData.txt");

예제를 보시면 먼저 인스턴스를 만들어 LoavVars 클래스 개체를 만들

게 됩니다. 그다음엔 인스턴스.이벤트로 데이터 로드가 완료된다면 변

수의 내용을 output창에 출력하는 부분 입니다.
그리고 마지막의 인스턴스.load 매서드를 실행하여 외부데이터의 내용

을 가져 오게 하는 내용입니다만 실제 실행을 하게된다면 먼저 인스턴

스를 만들고 데이터가 로드되지 않았으므로 출력하는 부분은 건너뛰고

데이터를 가져온뒤에 데이터 로드가 완료되면 다시 출력을 하게되는

순서를 가지게 됩니다.
여기에서 중요한 것은 제일 아랫부분에 test_ins.load("myData.txt");

이부분 뿐입니다. 인스턴스명.매서드의 형태를 잘 알아두시기 바랍니

다..^^

=> 데이터 로드 : LoadVars 인스턴스.load("외부데이터의 URL");

2. 데이터를 외부에 전송하기
이번엔 플래시의 데이터를 외부로 전송해 봅시다.
ⅰ)GET방식으로 데이터 전송하기 : 로드하려는 페이지의 URL 뒷부분에

전송하려는 변수와 값을 적는방법 입니다. 지난번에도 말했던 적이 있

는 방법이지요?
LoadVars 인스턴스.load("외부데이터의 URL?변수=값&변수=값");
이러한 형태를 가지게 됩니다만 But! 알고 계시겠지만 URL에 변수와

값이 노출되기 때문에 보안성의 문제가 있습니다.사소한 값을 전달하

기에는 쉽게 사용할 수 있겠지만 중요한 정보(비밀번호 등)를 전송하

려고 하는데 그게 웹상에 그대로 노출되면 안되겠지요?

ⅱ)POST방식으로 데이터 전송하기
sendAndLoad()매서드를 사용하여 데이터를 전달
ex)
test_ins = new LoadVars();
test_ins.myName = "이상훈";
test_ins.sendAndLoad("URL",test_ins,"POST");

POST방식으로 데이터를 전달하려면 먼저 인스턴스 내부의 변수를 생성

해야 합니다. 인스턴스명.변수명 = 값;의 형태로 변수에 값을 저장합

니다. 그러면 LoadVars 클래스가 인스턴스 전체의 변수를 외부로 내보

냅니다. HTML의 FORM전송과 비슷하지요?
변수를 보냈으면 결과를 받아와야겠지요? 예제에서는 변수를 전달하는

인스턴스와 값을 전달받는 인스턴스가 같은걸로 되어 있지만 보통은

전달받는 인스턴스를 따로두고 전달받는 인스턴스도 따로 생성하여 변

수명이나 기타 이름등이 서로 얽히지 않도록 하는게 보통입니다.
아..물론 값을 전달받는 변수도 전달받은 값을 저장할 변수를 포함하

고 있어야겠지요?

LoadVars 클래스 인스턴스 생성
인스턴스 내부의 변수 생성
변수에 값을 전달
인스턴스의 모든 변수를 URL로 전송
전송방식은 POST

=>LoadVars 인스턴스.sendAndLoad("URL", 결과값을 전달받을 LoadVars

인스턴스,"전송방식");

음...조금 부족할까요?? 설명이?? 중요한 것은 웹프로그램으로 플래시

에서 원하는 데이터 형식으로 출력을 하는것과 플래시에서 데이터를

주고 받는것입니다..^^ 그럼 궁금한사항은 물어보시고.^^;;(대략 무책

임..-0-) 전이만 슝슝~~
시간여유가 조금 생기면 간단한 방명록을 제작해 보도록 하겠습니

다..^^


잡답
음..대략 첫번째 강좌(?)라고 불릴만하였나 하는 의문이 들지만 첫번

째 강좌가 마무리 되었습니다. 뭐 처음 쓴것은 아니지만 대략 처음인

데다가 말투도 어눌하고 문장력도 부족해서 이해가 힘드신 분들도 계

시겠지만..^^;; 읽어주셔서 감사합니다.
다음은 아마도 약간의 긴 텀이 있겠지만(요새 회사일이 바빠서리..ㅜ.

ㅡ)무튼 다음은 간단한 방명록을 하나 제작해봅시다..^^;;
반응형

'Programing' 카테고리의 다른 글

prospring - sample chapter  (0) 2007.08.30
[자바스크립트] 팝업창 띄우기!!  (0) 2007.08.30
플래시로 DB연동하쟈!! 2탄!  (1) 2007.08.29
플래시로 DB연동하자!  (0) 2007.08.29
php 기본문법  (0) 2007.08.29
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함