여기서는 플래시와 PHP 연동의 기본인 loadVariables 함수 사용법을 살펴보기 위해서 위와 같은 플래시를 만드는 방법을 살펴보도록 하겠습니다.
위의 플래시에서 이름 입력 박스에 이름을 입력하고 옆의 파란색 버튼을 누르면 아래 4개의 텍스트 박스에 입력한 이름과 더불어 각 테스트 박스마다 특정 구문이 출력됩니다.
노란색 버튼은 텍스트 박스 새로고침 버튼입니다.
이것은 loadVariables 함수를 이용해서 플래시와 PHP 문서 간에 서로 변수를 전달하는 과정을 거쳐서 발생합니다.
아래의 파일은 본 플래시 완성 소스 파일이니 다운받으셔서 참조하기시를 바랍니다.
☞
fnp1.fla (23 KB)
플래시와 PHP의 연동에는 지금 소개드리는 loadVariables 메서드와 나중에 소개드릴 loadVar 객체가 기본적으로 사용되므로 이들의 기본적인 사용 방법을 반드시 숙지하셔야합니다.
loadVariables는 변수(Variables)를 전달하거나 받는 기능을 가지고 있습니다.
loadVariables는 일반 함수와 무비 클립의 메서드로 존재하는데 이것은 기능은 똑같지만 사용 구문상에서 약간의 표현의 차이가 있을 뿐입니다.
메서드도 함수의 일종이므로 그냥 loadVariables 함수로 통칭했습니다.
사용 방식은 함수의 경우면
loadVariables ("url" ,level/"target" [, variables])
이렇게,
메서드의 경우면 오브젝트와 연결 연산자 .로 결합하여 사용하는 방식으로
myMovieClip.loadVariables("url", variables)
이렇게 플래시 제작사인 매크로미디어사의 플래시 MX 레퍼런스에는 나와 있는데, 예를 들어서 메인 스테이지의 mc1이라는 무비 클립과 test.php 문서 간에 서로 변수를 전달한다고 하면
함수면
loadVariables ("test.php", "_root.mc1", "GET")
이런 식으로 무비 클립 경로가 구문상에 위치하고
메서드면
_root.mc1.loadVariables ("test.php", "GET")
이런 식으로 무비 클립 경로가 구문상에 위치한다는 차이가 있을 뿐입니다.
어떤 형식으로 사용할 것인지는 편리하신대로 선택하시면 되겠지요.
저는 메서드 형식으로 사용하겠습니다.
그러면 아래의 구문을 예로 들어서 구체적으로 사용 방법을 설명드리겠습니다.
_root.loadVariables("자신의 계정 주소/info.php", "GET");
위의 예는 _root 즉, 메인 스테이지=메인 타임라인의 모든 변수를 전달하거나 받는 구문인데 loadVariables 메서드 다음의 괄호 안의 첫 번째 "" 안에는 변수를 주고 받을 텍스트 파일이나 PHP 파일의 경로를 써주고 다음의 ""안에는 변수를 전달하는 방식인 GET이나 POST 중 하나를 써줍니다.
쉽게 말해서 GET이나 POST는 전송 방식이라고 할 수 있는데 전자는 웹 브라우저의 주소창을 통해서, 후자는 HTTP 헤더에 숨겨져(인코딩드되어) 서버로 전송이 됩니다.
그러므로 보안 유지가 필요없는 단순 변수 전달은 GET, 보안 유지가 필요한 변수나 많은 데이터를 전달할 때는 POST를 씁니다.
위에서는 GET을 사용했습니다.
굳이 전송 방식을 지정 안해도 변수가 전달됩니다.
참고로 파일의 경로를 써주실 때는 플래시가 단독 실행되느냐 웹 페이지 안에서 실행되느냐에 따라서 경로가 달라지므로 반드시 상대 경로말고 http://~로 시작한 절대 경로로 적어주셔야 합니다.
위의 예제를 보면 5개의 텍스트 박스가 나오는데 완성 fla 소스 파일을 열어보시면 그 텍스트 박스마다 전부 변수명이 있습니다.
변수명이 있다는 것은 변수가 있다는 말이겠지요.
텍스트 박스의 변수명은 왼쪽 툴 박스에서
모양의 텍스트 툴을 선택하시면 아래와 같은 텍스트 툴 속성(Properties)창이 뜨는데 아래의 예에서 빨간색 사각형으로 표시된 부분에 입력합니다.
Var는 변수를 뜻하는 예약어입니다.
그리고 변수명이 name인 이름 입력 텍스트 박스는 내용을 입력받으므로 텍스트 툴 속성 관리자의 왼쪽 상단의 커다란 A자 옆의 드롭 다운 메뉴에서 Input Text를 선택해주시고 나머지 텍스트 박스는 변수값을 출력하므로 Dynamic Text를 선택합니다.
Input Text는 값을 입력받을 때, Dynamic Text는 변수값을 출력할 때 Static Text는 일반 글자를 입력할 때 각각 사용합니다.
그럼 위의 플래시 예제에서 사용된 소스들을 살쳐보겠습니다.
파란 색 버튼을 마우스로 클릭해서 선택하고 마우스 오른쪽 버튼를 클릭하면 뜨는 메뉴창에서 Actions를 선택하시면 액션 스크립트 소스 편집 창에 아래와 같은 구문이 나옵니다.
.......................................................................................
on (release) {
System.useCodePage = true;
_root.loadVariables("자신의 계정 주소/info.php", "GET");
}
.......................................................................................
이 구문은 버튼을 누르면 loadVariables 메서드가 실행되는 구문으로
System.useCodePage = true;
이 구문은 한글 출력이 깨져서 나오는 것을 방지하기 위한 구문입니다.
노란색 버튼을 마우스로 클릭해서 선택하고 마우스 오른쪽 버튼를 클릭하면 뜨는 메뉴창에서 Actions를 선택하시면 액션 스크립트 소스 편집 창에 아래와 같은 구문이 나옵니다.
......................................................................................
on (release) {
name = "";
name2 = "";
hansome = "";
power = "";
nice = "";
}
......................................................................................
이 구문은 버튼을 누르면 각 텍스트 박스의 값에 공백을 넣어줘서 결과적으로 텍스트 박스에 입력되거나 출력된 값을 없애주기 위한 구문입니다.
즉, 새로고침의 효과를 주는 것이죠.
여기까지가 플래시 측에서의 작업 부분입니다.
다음은 PHP 측에서의 작업 부분을 살펴보겠습니다.
아래는 본 게시물에 첨부된 압축 파일에 들어있는 info.php 파일의 소스입니다.
......................................................................................
<?
$name2 = $name;
echo "&name2=$name2&";
echo "&hansome=잘 생기고&";
echo "&power=힘도 세고&";
echo "&nice=멋있다&";
?>
......................................................................................
`$name2 = $name;-> 플래시의 name 텍스트 박스에서 입력받은 글자나 숫자를 전송받아서 name2 변수로 저장합니다.
다음 부분은 echo 구문으로 각 변수의 내용을 출력해서 플래시로 전달하는 구문인데
`echo "&name2=$name2&";-> 일반적인 PHP 코딩 방식이라면 "$name" 이렇게만 써줘도 될 부분을 여기서는 "&name2=$name2&" 이렇게 써주었습니다.
그 이유는 플래시에서 해당 메서드로 변수를 전달할 때는 그냥 변수값만 전달하면 안되고
&변수명=변수값
이렇게 사용해줘야 플래시에서 제대로 사용이 되기 때문입니다.
그래서 &name2=$name2 이렇게 표시를 한 것입니다.
끝에 붙는 &는 마지막 데이터에 공백 등의 필요없는 정보가 같이 전달되는 것을 방지하기 위해서 붙여주는 것입니다.
즉, 이 부분은 PHP에서 echo 문으로 출력한 변수값들을 플래시로 전달해주는 부분입니다.
물론 이 때 변수명은 플래시에서 이미 정해준 각 텍스트 박스의 변수명과 같아야 해당 텍스트 박스에 전달받은 변수값이 제대로 출력이 됩니다.
결국 loadVariables 메서드는 플래시에서 입력한 변수값을 PHP로 전달해주고 그 변수값을 처리하여 PHP에서 다시 플래시로 보내주거나 플래시에서 받은 변수값이 아닌 PHP에서 설정한 변수값을 플래시로 보내주는 역할을 한다는 것을 알 수 있습니다.
물론 여기서의 변수명은 플래시에서 이미 정해준 각 텍스트 박스의 변수명과 같게 정해줘야 플래시에서 해당 텍스트 박스로 변수값이 제대로 전달됩니다.
`강좌 불펌 금지
다음 카페의 ie10 이하 브라우저 지원이 종료됩니다. 원활한 카페 이용을 위해 사용 중인 브라우저를 업데이트 해주세요.
다시보지않기
Daum
|
카페
|
테이블
|
메일
|
즐겨찾는 카페
로그인
카페앱 설치
공짜맨의 초보태그[웹페이지 제작의 모든 것]
https://cafe.daum.net/totosoro
최신글 보기
|
인기글 보기
|
이미지 보기
|
동영상 보기
검색
카페정보
공짜맨의 초보태그[웹페이지 제작의 모든 것]
브론즈 (공개)
카페지기
공짜맨
회원수
15,526
방문수
0
카페앱수
5
카페 전체 메뉴
▲
검색
카페 게시글
목록
이전글
다음글
검색이 허용된 게시물입니다.
답글
수정
삭제
스팸처리
플래시, PHP 연동 강좌
플래시와 PHP 연동 기초1: loadVariables 함수
공짜맨
추천 0
조회 685
07.03.14 02:06
댓글
1
북마크
번역하기
공유하기
기능 더보기
게시글 본문내용
다음검색
첨부된 파일
개
▼
loadVariables 메서드 소스.zip (0kB)
다운로드
댓글
1
추천해요
0
스크랩
0
댓글
늙은여우
10.02.25 11:51
첫댓글
감사합니다 잘 보았습니다.
검색 옵션 선택상자
댓글내용
선택됨
옵션 더 보기
댓글내용
댓글 작성자
검색하기
연관검색어
환
율
환
자
환
기
재로딩
최신목록
글쓰기
답글
수정
삭제
스팸처리
첫댓글 감사합니다 잘 보았습니다.