1

_POST のデータをスクリプト内の URL に送信する既存の Flash プロジェクトが渡されました。URLVariable にさらにデータを追加しようとしましたが、うまくいきません:

AS3:

        public function SendChatMessageDB(ChatFrom:int)
    {
        var request:URLRequest = new URLRequest("http://www.somewebsite.co.uk/clientUpdateUserInfo.php");           
        var data:URLVariables = new URLVariables();
        data.a = "upChat"; // Existing part of project - Working
        data.sk = "hash"; // Existing part of project - Working
        data.Dat = global.MyFacebookID; // Existing part of project - Working
        data.chat = "screw"; // Added data - Not working!

        request.data = data;
        request.method = URLRequestMethod.POST;                     
        var loader:DataLoader = new DataLoader(request, {name:"userInfo"});
        loader.load();
    }
}

PHP:

<?php

session_start();

        $a = $_POST["a"];
        $sk = $_POST["sk"];

    $xmlData = $_POST["Dat"];

    $security_result = SecurityCheck($sk);

                if( isset($_POST['chat']) )
                {
                    $chatMessage = $_POST("chat"); // Script's functions only work when I comment this out..

このメソッドは、if ステートメントの内部がコメント アウトされている場合にのみ機能します。誰かが私が間違っているところを見ることができますか?

どうもありがとう、 ナイジェル・クラーク

4

1 に答える 1

1

PHP ドキュメントの の定義を$_POST見ると、これ$_POSTが単なる であることがわかり、arrayこのコードをテストできることがわかります。

<?php

    echo gettype($_POST);        // gives : array

    var_dump($_POST);            // gives : 
                                //  array (size=0)
                                //  empty

    print_r($_POST);             // gives : Array ( ) 

?>

そして、このコードを試すと:

<?php

    echo $_POST('key');     // throws this error : PHP Fatal error:  Function name must be a string

?>

$PHP では、関数名を変数 ( as ) で開始できないため、php の致命的なエラーが発生します$_POST

したがって、配列keyからインデックスに対応する値を取得するには、 を使用します。$_POST$_POST['key']

于 2014-12-28T14:37:35.410 に答える