締切り済みの質問
Flash CS4を使ってアプリを開発しています。
サーバー側は、OSがSolaris、言語はPHPでデータベースを検索します。
FlashのActionScriptは、version2.0を使っています。
Flashで作成した画面上で、メールアドレスとかパスワードを入力させて、
それをsendAndLoad(phpプログラムファイル名,load用変数名,"POST")でサーバー側に送信しています。
しかし受信する側のPHPプログラム上で、$_POST['mailaddress']のように
読もうとしてもうまく読めません。echoでその変数値を表示させても何も表示されません。
原因として何が考えられるでしょうか?
ちなみに、PHPの内部エンコードはutf-8です。
投稿日時 - 2010-03-17 16:21:43
4人が「このQ&Aが役に立った」と投票しています
回答(2件中 1~2件目)
Flash内、sendAndLoadに渡すPHPプログラムファイル名は、絶対パス(http://から始まるすべてのURL)で記入していますか?
PHPのドメインと、SWFの貼られたHTMLのドメインは一致していますか?
PHP側で$_POSTではなく、$_REQUESTで取得した場合は、データが取得できますか?
投稿日時 - 2010-03-17 18:08:03
お礼
ありがとうございます。
$_REQUESTで試したところ、解決しました。
なぜ$_POSTで動かないのかは今でも謎ですが、
とりあえず$_REQUESTで動いているので
先に進みます。
投稿日時 - 2010-03-18 06:56:43
以下の確認してください。
1.送信側の文字エンコードは何ですか?
2.php.iniで mbstring.http_input は pass になっていますか?
投稿日時 - 2010-03-17 16:50:11
補足
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になっていますが、
まずいでしょうか?
よろしくお願いします。
投稿日時 - 2010-03-17 17:19:00
お礼
ありがとうございました。
この件はとりあえず、解決しました。
$_POSTの代わりに$_REQUESTを使ったら
動きました。
投稿日時 - 2010-03-18 06:58:01