• 締切済み

PHPへのデータ送信について

Flash CS4を使ってアプリを開発しています。 サーバー側は、OSがSolaris、言語はPHPでデータベースを検索します。 FlashのActionScriptは、version2.0を使っています。 Flashで作成した画面上で、メールアドレスとかパスワードを入力させて、 それをsendAndLoad(phpプログラムファイル名,load用変数名,"POST")でサーバー側に送信しています。 しかし受信する側のPHPプログラム上で、$_POST['mailaddress']のように 読もうとしてもうまく読めません。echoでその変数値を表示させても何も表示されません。 原因として何が考えられるでしょうか? ちなみに、PHPの内部エンコードはutf-8です。

みんなの回答

  • BellBell
  • ベストアンサー率54% (327/598)
回答No.2

Flash内、sendAndLoadに渡すPHPプログラムファイル名は、絶対パス(http://から始まるすべてのURL)で記入していますか? PHPのドメインと、SWFの貼られたHTMLのドメインは一致していますか? PHP側で$_POSTではなく、$_REQUESTで取得した場合は、データが取得できますか?

youzan1231
質問者

お礼

ありがとうございます。 $_REQUESTで試したところ、解決しました。 なぜ$_POSTで動かないのかは今でも謎ですが、 とりあえず$_REQUESTで動いているので 先に進みます。

noname#111181
noname#111181
回答No.1

以下の確認してください。 1.送信側の文字エンコードは何ですか? 2.php.iniで mbstring.http_input は pass になっていますか?

youzan1231
質問者

お礼

ありがとうございました。 この件はとりあえず、解決しました。 $_POSTの代わりに$_REQUESTを使ったら 動きました。

youzan1231
質問者

補足

1. 送信側の文字エンコードは特に設定していません。 デフォルトだと、UTF-8のはずだと思っています。 2. php.iniの関連する設定は以下のとおりです。 default_charset = "UTF-8" mbstring.language = Japanese mbstring.internal_encoding = UTF-8 mbstring.http_input = auto mbstring.http_output = pass mbstring.detect_order = SJIS,EUC-JP,JIS,UTF-8,ASCII mbstring.substitute_character = "none" mbstring.encoding_translation = On extension_dir = "/usr/local/lib/php/extensions" extension=php_mysqli.dll extension = gd.so extension = mysqli.so extension = xmlrpc.so mbstring.http_input は、passではなく、autoになっていますが、 まずいでしょうか? よろしくお願いします。

関連するQ&A