Expand my Community achievements bar.

Radically easy to access on brand approved content for distribution and omnichannel performant delivery. AEM Assets Content Hub and Dynamic Media with OpenAPI capabilities is now GA.

httpservice doesn't work!!! HELP!!!!

Avatar

Level 1
I want to create a simple form to update a mysql database
using php. The flex file pulls data from the database but the
insert won't work. I am at wits end!!! I have attached the mxml
file and the php file. Please anybody help me out!!!



MXML File

--------------------------

<?xml version="1.0" encoding="utf-8"?>

<mx:Application xmlns:mx="
http://www.adobe.com/2006/mxml"
xmlns="*" layout="absolute"
creationComplete="invoiceRequest.send()">

<mx:Script>

<![CDATA[

import mx.utils.ArrayUtil;

import mx.collections.*;

import mx.rpc.events.*;

]]>

</mx:Script>

<mx:HTTPService id="invoiceRequest" url="
http://localhost/invoice/bin/invoice_action.php"
useProxy="false" method="POST">

<mx:request
xmlns=""><first_name>{first_name.text}</first_name>

<last_name>{last_name.text}</last_name>

<company_name>{company_name.text}</company_name>

<address>{address.text}</address>

<address2>{address2.text}</address2>

<city>{city.text}</city>

<state>{state.text}</state>

<zip>{zip.text}</zip>

<phone_area>{phone_area.text}</phone_area>

<phone_first>{phone_first.text}</phone_first>

<phone_last>{phone_last.text}</phone_last>

<cell_area>{cell_area.text}</cell_area>

<cell_first>{cell_first.text}</cell_first>

<cell_last>{cell_last.text}</cell_last>

<work_area>{work_area.text}</work_area>

<work_first>{work_first.text}</work_first>

<work_last>{work_last.text}</work_last>

<email>{email.text}</email>

</mx:request>

</mx:HTTPService>

<mx:Form x="22" y="10" width="493" height="441">

<mx:HBox>

<mx:Label text="First Name"/>

<mx:TextInput id="first_name"/>

</mx:HBox>

<mx:HBox>

<mx:Label text="Last Name"/>

<mx:TextInput id="last_name"/>

</mx:HBox>

<mx:FormItem label="Company">

<mx:TextInput id="company_name"/>

</mx:FormItem>

<mx:FormItem label="Address">

<mx:TextInput id="address"/>

</mx:FormItem>

<mx:FormItem label="Address 2">

<mx:TextInput id="address2"/>

</mx:FormItem>

<mx:FormItem label="City, State, Zip" width="416">

<mx:HBox width="100%" height="100%">

<mx:TextInput width="100" id="city"/>

<mx:TextInput width="100" id="state"/>

<mx:TextInput width="50" id="zip"/>

</mx:HBox>

</mx:FormItem>

<mx:FormItem label="Home Phone">

<mx:HBox width="314" height="100%">

<mx:TextInput width="20" id="phone_area"/>

<mx:TextInput width="20" id="phone_first"/>

<mx:TextInput width="20" id="phone_last"/>

</mx:HBox>

</mx:FormItem>

<mx:FormItem label="Cell Phone" width="417">

<mx:HBox width="100%" height="100%">

<mx:TextInput width="20" id="cell_area"/>

<mx:TextInput width="20" id="cell_first"/>

<mx:TextInput width="20" id="cell_last"/>

</mx:HBox>

</mx:FormItem>

<mx:FormItem label="Work Phone">

<mx:HBox width="316" height="100%">

<mx:TextInput width="20" id="work_area"/>

<mx:TextInput width="20" id="work_first"/>

<mx:TextInput width="20" id="work_last"/>

</mx:HBox>

</mx:FormItem>

<mx:FormItem label="Email">

<mx:TextInput id="email"/>

</mx:FormItem>

<mx:Button label="Submit"
click="invoiceRequest.send()"/>

</mx:Form>

<mx:DataGrid id="dgInvoiceRequest" x="523" y="10"
dataProvider="{invoiceRequest.lastResult.invoices.invoice}">

<mx:columns>

<mx:DataGridColumn headerText="First Name"
dataField="first_name"/>

<mx:DataGridColumn headerText="Last Name"
dataField="last_name"/>

</mx:columns>

</mx:DataGrid>

</mx:Application>





PHP File

---------------------------------

<?php

define( "DATABASE_SERVER", "localhost" );

define( "DATABASE_USERNAME", "uksurf77" );

define( "DATABASE_PASSWORD", "LLaser2" );

define( "DATABASE_NAME", "invoice" );



//connect to the database

$mysql = mysql_connect(DATABASE_SERVER, DATABASE_USERNAME,
DATABASE_PASSWORD);



mysql_select_db( DATABASE_NAME );



// Quote variable to make safe

function quote_smart($value)

{

// Stripslashes

if (get_magic_quotes_gpc()) {

$value = stripslashes($value);

}

// Quote if not integer

if (!is_numeric($value)) {

$value = "'" . mysql_real_escape_string($value) . "'";

}

return $value;

}



if( $_POST["first_name"] AND $_POST["last_name"])

{

//add the user

$Query = sprintf("INSERT INTO clients VALUES ('', %s, %s, %s,
%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
quote_smart($_POST['first_name']),
quote_smart($_POST['last_name']),
quote_smart($_POST['company_name']),
quote_smart($_POST['address']), quote_smart($_POST['city']),
quote_smart($_POST['state']), quote_smart($_POST['zip']),
quote_smart($_POST['phone_area']),
quote_smart($_POST['phone_first']),
quote_smart($_POST['phone_last']),
quote_smart($_POST['cell_area']),
quote_smart($_POST['cell_first']),
quote_smart($_POST['cell_last']), quote_smart($_POST['work_area']),
quote_smart($_POST['work_first']),
quote_smart($_POST['work_last']), quote_smart($_POST['email']));





$Result = mysql_query( $Query );

}



//return a list of all the users

$Query = "SELECT * from clients";

$Result = mysql_query( $Query );



$Return = "<invoices>";



while ( $Invoice = mysql_fetch_object( $Result ) )

{

$Return .= "

<invoice>


<client_id>".$Invoice->client_id."</client_id>


<first_name>".$Invoice->first_name."</first_name>


<last_name>".$Invoice->last_name."</last_name>


<company_name>".$Invoice->company_name."</company_name>

<address>".$Invoice->address."</address>

<address2>".$Invoice->address2."</address2>

<city>".$Invoice->city."</city>

<state>".$Invoice->state."</state>

<zip>".$Invoice->zip."</zip>


<phone_area>".$Invoice->phone_area."</phone_area>


<phone_first>".$Invoice->phone_first."</phone_first>


<phone_last>".$Invoice->phone_last."</phone_last>


<cell_area>".$Invoice->cell_area."</cell_area>


<cell_first>".$Invoice->cell_first."</cell_first>


<cell_last>".$Invoice->cell_last."</cell_last>


<work_area>".$Invoice->work_area."</work_area>


<work_first>".$Invoice->work_first."</work_first>


<work_last>".$Invoice->work_last."</work_last>

<email>".$Invoice->email."</email>

</invoice>";

}

$Return .= "</invoices>";

mysql_free_result( $Result );

print ($Return)

?>

2 Replies

Avatar

Level 1
Can you provide more details. I am sure I can help, but don't
know where to start. What error are you getting? Are you getting a
PHP error? Can you make it work by just creating a simple PHP file
to insert a record by itself? If so, have you debugged to make sure
you are getting all your post fields?





Avatar

Former Community Member
I would use an HTTP sniffer to check what exactly is going
over the wire.

You'll want to make sure that a FORM parameter formatted POST
is being sent

with all of the correct names for the parameters expected by
your SQL statement.