我已经将一个现有的Flash项目传递给了它的脚本中的_POST数据。我已尝试向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语句中的内容注释掉时才起作用。谁能看到我哪里出错?
非常感谢, 奈杰尔克拉克
答案 0 :(得分:1)
如果你看看php文档中的definition of $_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致命的错误,因为在php中,函数名不能以$
作为它的变量开始(如$_POST
)。
因此,为了从key
数组中获取与索引$_POST
对应的值,我们使用$_POST['key']
。