Why not submit as a regular POST ?
---snippet-
var params:Object = new Object()
params.UserName = PostUserNameTF.text
PostUser.send(params).
--Then handle the POST in PHP.---
foreach($_POST AS $key = $values) { ${$key} = $values; }
$query = INSERT INTO Users (`UserName`) VALUES ('.$UserName.');
Omar Fouad wrote:
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
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 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.
--
Ben Marchbanks
::: magazooms :::
digital publishers, taking print beyond paper..
http://www.magazooms.com
Greenville, SC
864.284.9918