ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

FlashコミュのAS3 php メールフォーム作成について

  • mixiチェック
  • このエントリーをはてなブックマークに追加
初めまして。ck218と申します。

現在自分のHPをフルフラッシュで作成しているのですが、メール送信が出来ず困り果てています・・・。

作成中のHPです。
http://www.kenyo-c.com/link.html

作成環境は
FlashCS5
AS3
PHP
サーバ→yahoo geocities→PHP(5.1.4)
です。

AS3で、phpにデータを飛ばし、phpでメールを送信するという流れにしたいのですが、AS3からphpにアクセス出来ていないようで、ネットで色々と調べてみたものの解決方法が分からず、途方に暮れています。

どなたか、お力を貸して下さい・・・。
本当にすみません。

ソースを記述致しますので、ご指摘を宜しくお願いします。
ちなみに、phpに直でアクセスするとメールは飛んでくるので、php自体は今の所ちゃんと動いてくれているっぽいです。

AS3--------------------------------------------------------

//送信ボタンが押されたら、sendMail関数を実行
submit_btn.addEventListener( MouseEvent.CLICK , sendMail );
function sendMail ( event:MouseEvent ) {

//↓文字コードをUTF-8に
System.useCodePage = true;

//データをやりとりするPHPにアクセス
var url_request:URLRequest = new URLRequest( "http://cgi.geocities.jp/rxqqh996/mail.php" );
//PHPに変数をPOSTで送信
url_request.method = URLRequestMethod.POST;
//variablesに入った変数を全て送信
url_request.data = variables;

//送信する変数を設定
var variables:URLVariables = new URLVariables();
variables.subject = input3.text;
variables.msg = input1.text + " 様より\r\n" + input4.text;
variables.email = input2.text;

//送信の結果を受信
var url_loader:URLLoader = new URLLoader();
url_loader.addEventListener(Event.COMPLETE, completeHandler);
url_loader.load(url_request);

//送信が成功したあとの処理
function completeHandler(event:Event){
trace("メールを送信しました。");
}
}
//フレーム8に移動
//gotoAndStop(8);


php--------------------------------------------------------

<?php
//文字コードの設定
mb_language("Japanese");
mb_internal_encoding("UTF-8");

//送信先のメールアドレス、タイトル、本文、ヘッダー(送信者のメールアドレス)
//※メールアドレスは伏せています。
$send = "●●@yahoo.co.jp";//※メールアドレスは伏せています。
$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);

?>

---------------------------------------------------------------
本当にすみませんが、なにとぞよろしくお願い致します。。。

コメント(7)

一回書き込みしたのですが、
AS3とAS2が混ざったぽくて勝手に削除しました。
以下のページ参考に作ってみたら??
http://blog.turtlebite.com/send-and-load-variables-with-as3-and-php/

それでもできなかったら再度質問してください。
コード書いて送ります。

非日本人なので日本語不十分でわからないところがあったらすみません。
ちょっと気になったところですが、

----------------------------------------------
(前略)
//送信の結果を受信
var url_loader:URLLoader = new URLLoader();
url_loader.addEventListener(Event.COMPLETE, completeHandler);
url_loader.load(url_request);

//送信が成功したあとの処理
function completeHandler(event:Event){
trace("メールを送信しました。");
}
}
----------------------------------------------

ここって下記のようになるべきでは?

----------------------------------------------
(前略)
//送信の結果を受信
var url_loader:URLLoader = new URLLoader();
url_loader.addEventListener(Event.COMPLETE, completeHandler);
url_loader.load(url_request);
}

//送信が成功したあとの処理
function completeHandler(event:Event){
trace("メールを送信しました。");
}

----------------------------------------------

コピペミスかも知れませんが、念のため
篤坂さん↓

参考URLありがとうございます★
早速、見ながらやってみますね。
ダメだったらまた、書き込みさせて頂きます。
ネットで色々探し回ってましたが、このURLの所は初めて見たのでなんだかいけそうな気がします★
本当に助かります!!

かんさん↓

あっ。本当ですね(-_-;)
閉じる箇所間違ってました・・・。
早速、直してうまく動くかやってみます。
ご指摘ありがとうございます!!
実際に試してないので予想ですが、
下記の部分、この順番だと、url_request.dataには何も入っていないのでは?
variablesを作成してからurl_request.dataに代入してみて下さい。


//variablesに入った変数を全て送信
url_request.data = variables;

//送信する変数を設定
var variables:URLVariables = new URLVariables();
variables.subject = input3.text;
もももさん↓

ご指摘ありがとうございます★
見直してみたら、ほんとにその通り値が入ってない状態でした(笑)

----------------------------------------------------------

そんなこんなで、
みなさんのご指摘通り修正しましたら、
フラッシュ上でプレビューした際は、ちゃんと動作しました★
メールも届きます★

が、今度はアップしてプラウザ上から動作確認すると
メールすら届かない状態です・・・。

色々なプラウザで確認してみたのですが、どれも動かず、この原因が何なのか、またしてもつまづいてしまっています・・・。

何か解決方法をご存知でしたら、ぜひ教えて下さい!!
ASからPHP側に入力した値をちゃんと渡されているのか確認してみたら??と思います。
プレビューではメール送信されるということは、Flash側は問題ないと思いますが。
メールすら届かないということだけで何もわからないんですが、
何かエラーなどでませんか。
Geocitiesサーバーについて、使ったことないからわかりませんが、
一回Local サーバー(WAMP,XAMPP、LAMP、IISなど)で試してみたら?
PHPでメール送信機能(SMTP、Sendmail Path)などちゃんと設定されているかどうか確認してください。
またブラウザーから作動するには、そのブラウザーにFlashPlayerがインストールされているかも確認必要だと思います。(Internet Exploerと他のブラウザーではでは違うタイプのFlash Player必要されるので、それにAS3を使用しているということは最低FlashPlayerのVersion9が必要だと思うので、そのVersionのflashPlayerがインストールされているかどうか確認してください。)

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

Flash 更新情報

Flashのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング