flashは外部との連携に非常に優れていて、仕事なんかでよくAPIやCGIなどにアクセスし動的に何かを行ったりすることがあります。

そんな外部との連携とよく行われるのに対し、あまりAPIやCGIのロジックの知識が無かった自分は勉強がてら静的なphpを書いてみました。

そこで今回作ったphpはflashから受け取った値を指定したメールに送信するという、シンプルなものを制作してみました。

 

<?php
    //FLASHからの情報を受け取り
    $name = $_REQUEST['name'];
    $mail = $_REQUEST['mail'];
    $mes  = $_REQUEST['msg'];
    mb_language(”Japanese”);
        mb_internal_encoding("UTF-8");    //文字エンコーディング
    $name = mb_convert_encoding( $name, "ISO-2022-JP", "UTF-8" );
    $mes  = mb_convert_encoding( $mes , "ISO-2022-JP", "UTF-8" );
    $body = "名前:".$name."\n".
            "メールアドレス:".$mail."\n".
            "メッセージ:".$mes."\n";
    //メール送信
    $result = mb_send_mail( '送信先URL', '件名', $body );
?>

 

flashはloadVersやクエリストリングでこのphpに値を渡すだけ。

これでflash内でメールフォームを作成することが出来ます。

 

これを実装して実際にメールを送信してみると、メールの文章が”文字化け”してしまいました。

原因は各文字コードが不一致だったことが判明。

swfを貼り付けているhtmlやphpの文字コードをUTF-8と統一するとはまらなくて済むと思います。

HTML5飯