Four Ways to Transfer Data Between Flash and PHP

Discover the options for implementing bidirectional communications between browser-based Flash forms and server-side PHP code.
by Octavia Andreea Anghel
Creating the Flash Form
As an example, take a look at the Flash form in Figure 1. You'll see how to create, and communicate with, the form. To get started:
Figure 1. Sample Flash Form: The Flash form used in this article provides a test bed for bidirectional communications between Flash and PHP.
1. Open Macromedia Flash, and choose the "New" option from the File menu.
2. From the New Document window, General tab, choose the "Flash Document" option, and then click OK.
3. From the Insert menu, choose the New Symbol option to create a new movie clip.
4. Rename the movie clip flashForm, and click OK.
5. Use the Rectangle Tool from the Tools menu to draw a rectangle of 561x493 pixels on the flashForm surface, and set the background color to #CCCCCC.
6. Next, use the items from the Components panel (UI Components node) to reproduce the form design from Figure 1.
7. Use the Properties panel to reproduce the component properties you can see in Figure 1 (the red arrows);
8. Save your project as flashForm.fla.
With the Flash form created, you can move to the next task—communicating with the form.
Preparing Flash Data
Although your primary business logic will be in PHP, you can't avoid ActionScript altogether; you need to write a little ActionScript code to retrieve and prepare the data to be sent to PHP. That means you need to know how to extract the data for each type of Flash component (just as in JavaScript, the code you use to get data from a control depends on the control type). For the various controls, here's the ActionScript you'll need:
* For TextInput components, use the text property. For example, you can extract data entered into the name and email TextInput components with the following code:
_parent.name.text
_parent.email.text
* For RadioButton components, use the selection property, which returns the selected radio button from the group. In this case, you want the button's label, so you can use:
_parent.radioGroup.selection.label
* For ComboBox components, use the value property, which returns the selected item. Here's the code to determine the selected country from the dropdown country list:
_parent.country.value
Note: Code such as the preceding examples belongs in the Actions panel of the Submit button, so it will run when users click Submit.
* CheckBox components are a little more complicated. You need to create a global array to store the labels of the selected Newsletter checkboxes and a global function that checks whether a selected checkbox label is already in the global array. If the label is found, then the function returns the position (index array) where it was found; otherwise, it returns -1. Here's the ActionScript to perform the check:
onClipEvent(load)
{
_global.checkboxArray = new Array();
_global.testIfSelected = function (t)
{
for(i=0;i=0) checkboxArray.splice(pos,1);
}
}

Author's Notes:
o To view the Actions panel of a Flash component, left-click the component and expand its Actions panel.
o To see the flashForm movie clip, press Ctrl+L, which opens the Library panel, and then double-click the flashForm name.

Finally, when a user submits the form you can join the labels of the selected checkboxes into a comma-delimited string using the join method, like this:

checkboxArray.join(",")

Author's Note: Put the preceding code line and the rest of the code in this section in the Actions panel of the Submit button.

* List components are similar. Because the list used in the example supports multiple selections you have to determine and submit all the selected articles. The following code concatenates the article labels into a comma-delimited string:

var listSelection = new Array();
var listLabels = "";
listSelection = _parent.format.selectedItems;
for(j = 0; j < listSelection.length; j++) { listLabels = listLabels + listSelection[j].label + ","; } * TextArea components hold multiple lines of text, but you retrieve it with the text property just like a TextInput control: _parent.observation.text Now that you know the basics of how to collect the needed data from the Flash controls, you can move forward with sending that data to PHP. Download Code


Post Related to : use Flash with PHP,Discover the options for implementing bidirectional communications between browser-based Flash forms and server-side PHP code 

0 comments:

Archive

Enter your email address:

Delivered by FeedBurner

Stat Counter