POST(PHP 2)を使用してPHPメールスクリプトに値をPOSTしようとしています。 私はHTML形式のPHPメールスクリプトを試してみました。Flash(AS2)からPHPへのPOST、出力???英語以外の文字が使用されている場合
しかし、フラッシュからPOSTして英語以外の文字を入力すると、 "????"メールで。
私はutf8_encode($_POST["name"])
を試しましたが、役に立たないです。
編集:
私もそれが機能しなかった、utf8_decode($_POST["name"])
を試してみました。
更新:(だから、あなたは文句を言わないすべてのコメントを通過する必要が)
- 私はFlashで変数を確認し、 値が正しく保存されます。
- Flashが埋め込まれているHTMLページは、UTF-8でエンコードされています。
- 私はFireBugでPOSTヘッダを見ていましたが、POST自体はすでに "????"実際の価値の代わりに
- "?"値は、現在私は混乱を作成し、その
sendAndLoad
方法を疑う
$_POST["name"] == "???";
が得られ、PHPによりフラッシュすることにより、エンコードされたURL、および復号されます。
アップデート:ここで
は、フラッシュコードです:
System.useCodepage = true;
send_btn.onRelease = function() {
my_vars = new LoadVars();
my_vars.email = email_box.text;
my_vars.name = name_box.text;
my_vars.family_box = comment.text;
my_vars.phone = phone_box.text;
if (my_vars.email != "" and my_vars.name != "") {
my_vars.sendAndLoad("http://aram.co.il/ido/sendMail.php", my_vars, "POST");
gotoAndStop(2);
} else {
error_clip.gotoAndPlay(2);
}
my_vars.onLoad = function() {
gotoAndStop(3);
};
};
email_box.onSetFocus = name_box.onSetFocus=message_box.onSetFocus=function() {
if (error_clip._currentframe != 1) {
error_clip.gotoAndPlay(6);
}
};
@weltraumpirat:はい、HTMLフォームから同じスクリプトを提出しても機能しました。私は同じスクリプトに同じデータを提出するときに違いがあるとは思わないか、それともありますか? – Dean
フォームがFlashコンテンツとまったく同じURLエンコードされた文字列を送信しない限り、実際は同じではありません。 – weltraumpirat
@weltraumpirat:FirePHPを使って、$ _POSTデータの最初のものをチェックしました。その前に、他のアクションが実行される前に、すべて "???"でした。それからPOST自体(FireBugを使用)をチェックしたところ、POSTed値は???と表示されます。すべての手がかりは今、フラッシュを指している、私はそれが原因だと思う。 – Dean