2014-12-28 1 views
1

Мне передан существующий Flash-проект, данные _POST для URL-адреса в его скрипте. Я попытался добавил больше данных в URLVariable, однако он не работает:Борьба с _POST URLVariable к PHP из AS3

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

В настоящее время $ chatMessage даже ничего не делает, потому что я пытаюсь изолировать проблему. – Nigel

+0

'$ _POST (" chat ")' должен быть $ _POST ["chat"] –

ответ

1

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

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

 Смежные вопросы

  • Нет связанных вопросов^_^