FLASH送信フォームの作成
FLASHに用意されているコンポーネントを利用して送信フォームを作成する方法を紹介します。フォームの内容を送信するにはFLASHのみでは行えないので、送信の部分はPHPにて実行します。
作成するものは次の3点です。
- テキストエリア、送信ボタンを含むフォーム
- 入力内容をPHPへ送信するためのスクリプト
- メールへの送信PHPプログラム
はじめにFLASHの新規ファイル(AS3.0)を作成します。
レイヤーパネルから、「script」「form」レイヤーを作成します。
「form」レイヤーの1フレーム目にはフォームを作成して、2フレーム目に送信完了の画面を作成します。
フォーム作成ではテキストエリア、送信ボタンに図のようなオブジェクト名を付けておきます。
後で入力データ送信の際に必要になります。
2フレーム目に、送信完了の画面を作成します。
これは送信ボタンが押されて、PHPによるメール送信が完了した時に表示されます。
次に入力内容をPHPへ送信するためのスクリプトを「script」レイヤー1フレーム目に記述します。
//送信ボタンが押されたら、sendMail関数を実行
button_send_mc.addEventListener(MouseEvent.CLICK, sendMail);
this.stop();
function sendMail(event:MouseEvent):void {
//送信する変数を設定
var url_variables:URLVariables = new URLVariables();
url_variables.email = email_txt.text;
url_variables.message = name_txt.text + "\r\n" + comment_txt.text;
//PHPに変数をPOSTで送信
var url_request:URLRequest = new URLRequest("mail.php");
url_request.method = URLRequestMethod.POST;
url_request.data = url_variables;
//送信の結果を受信
var url_loader:URLLoader = new URLLoader();
url_loader.addEventListener(Event.COMPLETE, completeHandler);
url_loader.load(url_request);
//送信が成功したら次のフレームへ移動
function completeHandler(event:Event):void {
nextFrame();
}
}
FLASHでのフォーム、スクリプトの作成が終わったら、最後にPHPプログラムを作成します。
これはフォームからの入力内容を、指定メールアドレスに送信するためのプログラムです。
テキストエディッタ等で下記のスクリプトを記述して、ファイル名を「mail.php」として保存します。
これはフォームからの入力内容を、指定メールアドレスに送信するためのプログラムです。
テキストエディッタ等で下記のスクリプトを記述して、ファイル名を「mail.php」として保存します。
mail.php
<?php
//文字コードの設定
mb_language("Japanese");
mb_internal_encoding("UTF-8");
//送信先のメールアドレス、タイトル、本文、ヘッダー(送信者のメールアドレス)
$send = "info@sample.com";
$subject = mb_convert_encoding("FLASHフォーム","ISO-2022-JP","auto");
$message = mb_convert_encoding($_POST['message'],"ISO-2022-JP","auto");
$header = "From:".$_POST['email'];
//メールの送信
$result = mb_send_mail($send, $subject, $message, $header);
//FLASHへ結果を送信
echo $result;
?>
PHPプログラムでは、FLASHフォームからPOSTで受けたデータを文字コードなどを整形して、指定のアドレス宛に送信を行います。
FLASHのデフォルト文字コードはUTF-8ですが、メールソフト上での文字化けを防ぐために、ISO-2022-JPに変換してから送信しています。また送信には「mb_send_mail」関数を利用しています。
今回は分かりやすくするために、とてもシンプルなフォームにしてみました。
この他にも、FLASHではラジオボタンや、チェックボックスなども利用できるのですが、これらはデータの渡し方に少し工夫が必要になります。
フォームに限らずPHPプログラムとの連携で、いろいろな事が実現できそうです。
※サンプルデータのご利用は自己責任でお願いいたします。



