sendAndLoad()を使った、ActionScriptからPHPへの変数の受け渡し(Flashからのメールフォーム)

ユーザー固有のアドレスを持ったファイルを生成し、そのアドレスをメールで知らせる処理を作りました。
フラッシュ上で、送り先のアドレスなどを入力させ、送信処理をPHPで行いました。
フラッシュでの入力と、変数の内容のPHPへの受け渡しができました。
ただし、入力項目のチェック等は不十分なので、改善の余地ありです。


//ActionScript//////////////////////////////////////////////////////////////////
mail_btn.onRelease = function  () {
   
    send_ml = new LoadVars();
    load_ml = new LoadVars();
   
    send_ml.mailto_php = mailto;
    send_ml.mailfm_php = mailfm;
    send_ml.mailct_php = mailct;
    send_ml.mailsb_php = mailsb;
   
    load_ml.onLoad = function() {
    result = load_ml.mail_php;
    };
    send_ml.sendAndLoad("PHPファイル名.php", load_ml, "POST");
   
}

//PHP//////////////////////////////////////////////////////////////////

<?php

//言語設定
mb_language('Japanese');

//文字エンコーディング設定
mb_internal_encoding("UTF-8");

//セッションをスタート
session_start();

//useridをセッションIDから生成する
$userid = session_id();

//moviefileのアドレスを生成
$moviefile = "http://アドレス/ファイル名.php?userid=".$userid;


//送信先
$to = htmlspecialchars($_POST["mailto_php"]);

//送信元
$from = htmlspecialchars($_POST["mailfm_php"]);

//本文
$content = htmlspecialchars($_POST["mailct_php"]);

//件名
$subject = htmlspecialchars($_POST["mailsb_php"]);

//メール本文
$body = $moviefile."\n".$content;

//ヘッダー情報
$headers = "From: $from\nErrors-To: $from\nReturn-Path: $from";

//sendmail へのオプション -f
$option = "-f" . $from;

//メール送信
$send = mb_send_mail($to,$subject,$body,$headers,$option);

//送信終了後の処理
if($send == True){
print "送信完了";
}else{
print "送信失敗";
}
?>

今回、メールの送り先は
$to = htmlspecialchars($_POST["mailto_php"]);
となっていて、フラッシュから出力されたmailto_phpという変数を参照するようになっていますが、
一般的に使うメールフォームでは、送り先はそのお店のアドレスなど、一定なので、
$to = "abcd@domain.com";
とします。
このとき、abcd@domain.comは変数でなく、普通の文字列として扱うので、""で囲みます。

同じように、ほかの項目を追加するときは、ASで、
send_ml.hensuname = xxx;
のように、新たな変数を定義して、PHPで
//新しく受け取る変数
$atarashii = htmlspecialchars($_POST["hensuname"]);
のようにして、PHP内での変数$atarashiiに受け取ります。
Bookmark and Share


ブックマークに追加