ロックオン開発チームブログ -Lockon Knowledge Repositories-

PHP + Flash + Javascript連携

最近はAjaxが何かと話題になっておりますが、 動的なコンテンツと言えばFlashでしょという方も多いと思います。

そこで今回はFlashとPHPの連携(+javascript)のやり方を紹介したいと思います。

簡単な例としてflash側でメールアドレスを入力し、phpでメールを送信し、
javascriptで送信完了メッセージを表示したいと思います。


まずFlashの1フレーム目に以下のActionScriptを記述します。 fla.gif
//メール送信関数
function sendMail() {
	// PHPに渡すデータを設定
	var sl = new LoadVars();
	// email入力エリアのテキストをemailという名前でPHPにPOSTする
	sl.email = email.text
	sl.sendAndLoad("mail.php?rn=" + Math.random(), sl);
	
	// PHPからデータを受信したときの処理
	sl.onLoad = function() {
		// 完了メッセージ表示
		showMessage();
	}
}

//Javascript呼び出し関数
function showMessage() {
 	//JavaScript側の関数を呼び出す
	getURL("javascript:showMessage('メールを送信しました。')");
}


あとはテキスト入力部分をemailという名前で作成、
ボタンを一つ用意してクリックしたらsendMail()を呼び出すようにします。
on(press) {
	sendMail();
}
あとはtie_php.fla として保存し、パブリッシュを行い、tie_php.html 、tie_php.swfを作成します。
次にメール送信用のmail.phpを作成します。
FlashのLoadVarsを使用して送信されたデータはPOSTで受け取ることができます。
<?php

// Flash側で入力されたemailデータを受け取ります。	
$email = $_POST['email'];
$subject = "flash + javascript + PHP";
$body = "flash + javascript + PHP テスト";

// メールを送信
$result = mb_send_mail( $email, $subject, $body);

//FLASHへ値を送信(成功 = 0, 失敗 = 1)
echo "trans=". $result;

?>
最後にパブリッシュされた tie_php.html にFlash側のactionscriptで定義した
showMessage関数をJavascriptで記述します。
<script type="text/javascript">
	//文字列表示
	function showMessage(message) {
		if(!window.confirm(message)){
			return;
		}
	}
</script>
tie_php.htmlをブラウザから実行して見てください。 入力したメールアドレスに正しく送信され、完了メッセージが表示されれば成功です。 tie_php.jpg
動作確認はこちらから

▼---上記説明のファイルのダウンロード----
tie_php.zip

Flash8をご利用の方ならより高度なjavascriptとの連携も可能です。
第35回 FlashムービーとJavaScriptを連携させてみよう:ITpro

Trackback

このエントリーのトラックバックURL:
http://www.lockon.co.jp/cgi-bin/mt/mt-tb.cgi/68

コメント

コメント (1)


はじめまして。
メールに動画などのファイルを添付して送りたいのですが、どのようにしたら送れますか?ご教授ください。よろしくお願いします。





Copyright(c) LOCKON CO.,LTD. All Rights Reserved.