PHP + Flash + Javascript連携
最近はAjaxが何かと話題になっておりますが、
動的なコンテンツと言えばFlashでしょという方も多いと思います。
そこで今回はFlashとPHPの連携(+javascript)のやり方を紹介したいと思います。
簡単な例としてflash側でメールアドレスを入力し、phpでメールを送信し、
javascriptで送信完了メッセージを表示したいと思います。
まずFlashの1フレーム目に以下のActionScriptを記述します。
次にメール送信用のmail.phpを作成します。
FlashのLoadVarsを使用して送信されたデータはPOSTで受け取ることができます。
showMessage関数をJavascriptで記述します。

動作確認はこちらから
▼---上記説明のファイルのダウンロード----
tie_php.zip
Flash8をご利用の方ならより高度なjavascriptとの連携も可能です。
第35回 FlashムービーとJavaScriptを連携させてみよう:ITpro
そこで今回はFlashとPHPの連携(+javascript)のやり方を紹介したいと思います。
簡単な例としてflash側でメールアドレスを入力し、phpでメールを送信し、
javascriptで送信完了メッセージを表示したいと思います。
まずFlashの1フレーム目に以下のActionScriptを記述します。
//メール送信関数
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.zip
Flash8をご利用の方ならより高度なjavascriptとの連携も可能です。
第35回 FlashムービーとJavaScriptを連携させてみよう:ITpro


コメント (1)
はじめまして。
メールに動画などのファイルを添付して送りたいのですが、どのようにしたら送れますか?ご教授ください。よろしくお願いします。
投稿者: はなざわ | 2008年03月25日 08:42