Wednesday, March 31, 2010

Server-side interaction in Flash:

In this tutorial i just want to describe you how to send data from Flash to a server side language. In this tutorial shows the basics of this common practice using PHP as the server side language.

var _score:Number;
var _levelNo:int;
var myVars: LoadVars = new LoadVars();
myVars.onLoad = function(success) {
if (success) {
_score = myVars.score;
_levelNo = myVars.level;
} else {
trace("File Failed to open!");

The latest Flash MX has introduced a new Object type called LoadVars() that simplify the exchange of data between client and server.
On the PHP side, things are simple, since the way to return data to Flash is a query basically to return the two variables to the Flash movie you can output something like "score=120&lives=2".

This can be done in PHP with something like this:

$score = 120;
$level = 2;
echo "score=$score&level =$level ";

The techniques shown in this article can be used also to interact with other application servers, based on other languages such as ASP .NET, JSP etc
There's another useful method in the LoadVar object called SendAndLoad() which let you exchange data with the server in a bi-directional way. Here's an example :

// myVars is LoadVars object
var myVars:LoadVars = new LoadVars();
// these are the vars the are going to be sent
myVars.score = _score;
myVars.levelNo = _levelNo;
// handling the load event
loadObj.onLoad = function(success) {
if ((success)) {
trace("loading successfully");
} else {
trace("loading problem");
// Send and Load data

This can be done in PHP with something like this:

$score = $_POST[ ' _score ' ];
$levelNo = $_POST[ ' _levelNo' ];

Basically, you can send variables from flash to any serverside programming language. At the serverside (such as PHP), you get the data using the $_POST["var1"] or $_GET["var2"] depends on you send variables as POST or GET. When you want to send data from PHP back to flash, try to read this method: LoadVars().

No comments:

Post a Comment