Tutorials Books Videos Forums

Change the theme! Search!
Rambo ftw!

Customize Theme


Color

Background


Done

AS and PHP Made Easy

by laurent hogue   | filed under Flash and ActionScript

This is an archived tutorial from the kirupa.com legacy collection. It covers software that may no longer be available, but it is kept online because the ideas still hold up.

During my past years, I developed several applications for PC and Mainframe Computers on different languages - from ASM to java. But recently, I discovered the wonderful world of the ActionScript.

Seeking for some good tutorials on the net, I always found poorly-written tutorials, or in other cases, examples far too complex for beginners. So today, I will show you, with a generic example, how to communicate data back and forth from AS and PHP.

PART 1 - HOW DOES IT WORK

Before starting programming like a devil, let's try to understand how ActionScript and PHP can communicate. Suppose that you want to send a written letter to your best friend. You need his postal address, an envelope, and something to send such as the content or pages in your letter.

First, you write the different pages of your letter. Next, you put those pages in the envelope, and finally you post it. Do you understand?

Good. You now know the concept. It was easy? I know. Programming in AS and PHP works in a similar fashion. Let's try to program it.

PART 2 - ACTIONSCRIPT

In AS, there is a kind of variable called "LoadVars". It is the equivalent of the envelope in our letter example above. Before putting your valuable content in it,
you have to first create it.

                    $envelope
  = new LoadVars();

Next, you have to put what we called before your "pages". In fact, these
are the variables of your code that you want to pass to PHP. How do you
do it? Let me show you:

                    $var1 =
  "hello, I'm Bobby.";

  $var2 = 100;

  $var3 = "John Deer";

  $envelope.variable1 = $var1;

  $envelope.hellothere = $var2;

  $envelope.byebye = $var3;

The name that you declare after $envelope (in our example, variable1, hellothere, and byebye) is the name of the variable that you will fetch in PHP.

Now that you put your content in your envelope let's post it ! How do we do that? By calling a special function specific to the LoadVars variable.

                     $envelope.send("http://www.mydomain.com/script.php");

Here we go ! You are currently sending your envelope to "script.php". It was easy, don't you think?
PART 3 - PHP
Now, we have to catch the informations sent by the AS. I'm assuming that your PHP version is 4.x. If not, change your PHP version or Hosting company, they are not serious.

To retrieve the info...

                    $phpvar1 =
  $HTTP_POST_VARS["variable1"];

  $phpvar2 = $HTTP_POST_VARS["hellothere"];

  $phpvar3 = $HTTP_POST_VARS["byebye"];

  ?>

You see, you are fetching the variables sent from AS by putting the content of the php array $HTTP_POST_VARS at the index called by the name of your variable. Now, these sentences in PHP are true :

                    $phpvar1
  == "hello, I'm Bobby."; //true

  $phpvar2 == "100"; //true

  $phpvar3 == "John Deer"; //true

Voila ! It wasn't difficult at all, don't you think?


PART 4 (optional) - HOW TO SEND AND RECEIVE

Suppose now that you want to send and receive information/data. How do you do that? The following example shows how:

//Actionscript
$var1 = "hello, I'm Bobby.";
$var2 = 100;
$var3 = "John Deer";

$envelope = new LoadVars();
$envelope_received = new LoadVars();

$envelope.variable1 = $var1;
$envelope.hellothere = $var2;
$envelope.byebye = $var3;

$envelope.sendAndLoad("http://www.mydomain.com/script.php",
$envelope_received);

//----------------------------------

What we have done is that we have put content in our first envelope but told AS to put the content read from PHP in the variable $envelope_received. This variable MUST be of LoadVars type.

How do you send information from php? Behold:

$phpvar1 = $HTTP_POST_VARS["variable1"];
$phpvar2 = $HTTP_POST_VARS["hellothere"];
$phpvar3 = $HTTP_POST_VARS["byebye"];

$mycredits = "Laurent Hogue";

echo "status=complete&final=yes";
echo "&credits=".$mycredits;
?>

The "echo" function in PHP is used to send what is written after it to an output channel. This is what AS will receive. It works like a typewriter: the first echo is sent to the output channel, the next echo will be written in the output channel after the first one. If you put a string followed by a dot and a variable name, you concatenate the string into:

"&credits=".$mycredits == "&credits=Laurent Hogue"; //true

Dont forget - in PHP, you must separate each variable with an & - as
described in the echo example above.

The Final Step - Reading the PHP Data in AS
It's simple, in fact. The values are stored the same way they are in the envelope. So to follow our example, you can fetch the information coming from PHP like this:

//Actionscript

$the_status = $envelope_received.status;
$final_result = $envelope_received.final;
$tut_credits = $envelope_received.credits;

//----------------------------------

Therefore, the values afterward equal:

$the_status == "complete"; //true
$final_result == "yes"; //true
$tut_credits == "
Laurent Hogue"; //true
 

Just a final word before we wrap up. What you've seen here is freshly baked content without added preservatives, artificial intelligence, ads, and algorithm-driven doodads. A huge thank you to all of you who buy kirupa's books, became a paid subscriber, watch the videos, and/or interact on the forums.

Your support keeps this site going! 😇

The KIRUPA Newsletter

Thought provoking content that lives at the intersection of design 🎨, development 🤖, and business 💰 - delivered weekly to over a bazillion subscribers!

SUBSCRIBE NOW

Creating engaging and entertaining content for designers and developers since 1998.

Follow:

Popular

Loose Ends

:: Copyright KIRUPA 2026 //--