Actionscript 3 — Борьба с _POST URLVariable для PHP из AS3

Мне передали существующий проект Flash, данные _POST которого URL-адреса в его сценарии. Я попытался добавить больше данных в 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. Кто-нибудь может увидеть, где я иду не так?

Большое спасибо,
Найджел Кларк

1

Решение

Если вы посмотрите на значение $_POST в документации php вы поймете, что $_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 фатальную ошибку, потому что в php имя функции не может начинаться с $ как это переменные (как $_POST ).

Таким образом, чтобы получить значение, соответствующее индексу key от $_POST массив мы используем $_POST['key'],

1

Другие решения

Других решений пока нет …