In my flex application i have a form with some text fields. When I submit
the form an HTTPService.send() methid is called.

<mx:HTTPService id="PostUser" method="GET"
        url="http://localhost/Flex/Pastarino/PostUsers.php"; useProxy="false"
        showBusyCursor="true"
        resultFormat="text" result="PostNewUserResponse(event);">
    </mx:HTTPService>

the function is:

public function PostNewUserResponse(event:ResultEvent):void {
                PostStatusL.text = String(event.result); // response from
the php to the label in FLEX
}

when the Submit Button Is pressed it calls the following function

public function PostNewUser():void {
    var PostArray:Array= new Array();
                PostArray = [{
                    UserName: PostUserNameTF.text,
                    Password: PostPasswordTF.text,
                    name: PostNameTF.text,
                    Position: PostPositionTF.text,
                    ManageUsers: PostManageUsersCB.selected,
                    CreateOrders: PostCreateOrdersCB.selected,
                    CreateDishes: PostCreateDishesCB.selected
                }];

                var DataToSend:Object = new Object();
                var DataString:String = JSON.encode(PostArray);
                DataString = escape(DataString);
                DataToSend.PostUsers = "true";
                DataToSend.DataSent = DataString;
                PostUser.send(DataToSend);
}

At this point the php code would be:

if(isset($_GET['PostUsers'])) {
  $jsonString = urldecode($_GET['DataSent']);
  $jsonString = str_replace("\\", "", $jsonString);
  $data = json_decode($jsonString, true);

  $connection = mysql_connect($URL, $USERNAME, $PASSWORD);
  mysql_select_db($DATABASE) or die('Cannot connect to database. Please Try
Again...');

    $query = "INSERT INTO Users (name) VALUES ($data['name'])"; // only the
name field for now...

    $result = mysql_query($query, $connection);


But it is not working. I realized that $data['name'] is not getting the name
field from flex.

I also tried adding the values manually in php as in

$query = "INSERT INTO Users (name) VALUES ('The Name is here')";

and it WORKED!!. So i think the problem is that $data['name'] is not really
retrieving the data from the array decoded by json_decode() (this is really
frustrating me!!)

How should It be?

thanks for the help

-- 
Omar M. Fouad - Digital Emotions
http://www.omarfouad.net

This e-mail and any attachment is for authorised use by the intended
recipient(s) only. It may contain proprietary material, confidential
information and/or be subject to legal privilege. It should not be copied,
disclosed to, retained or used by, any other party. If you are not an
intended recipient then please promptly delete this e-mail and any
attachment and all copies and inform the sender. Thank you.

Reply via email to