ActionScript

Post data from Actionscript 3 to PHP

If you need to send some data to a PHP script and don’t want to use services like Zend_AMF you can try posting that data directly to the PHP script.
With the code bellow I’ll actually send an email.

// ActionScript 3 Code
// PostToPHP.as

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
package
{
        import flash.events.Event;
    import flash.events.HTTPStatusEvent;
        import flash.net.URLLoader;
    import flash.net.URLLoaderDataFormat;
    import flash.net.URLRequest;
    import flash.net.URLRequestMethod;
    import flash.net.URLVariables;

    public class PostToPHP
    {
        // url to post
        private var postToURL:String = "http://www.yourdomain.tld/post_receiver.php";

        public function PostToPHP()
        {
            // create request
            var request:URLRequest = new URLRequest( postToURL );

        // set post variables
            var requestVars:URLVariables = new URLVariables();
            requestVars.emailTo      = 'email.address@mailservice.tld';
            requestVars.subject      = 'This is a test email';
            requestVars.message = 'An this is the content of the message.';
       
            // assign variables to the request and set request method type 
            request.data     = requestVars;
            request.method = URLRequestMethod.POST;
   
            // load the request and listen for a response from the PHP script
            var urlLoader:URLLoader = new URLLoader();
            urlLoader.dataFormat = "text";
            urlLoader.addEventListener(Event.COMPLETE, urlLoader_handler, false, 0, true);
            urlLoader.load(request);
    }
       
    private function urlLoader_handler(e:Object):void
    {
           // the response given from the PHP script will be traced here
       trace(e.target.data);
    }

// PHP code
// post_receiver.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// assign POST variables and clean them
// filter_var() is available from PHP 5.2.0
$emailTo    = filter_var($_POST['emailTo'], FILTER_SANITIZE_EMAIL);
$subject    = filter_var($_POST['subject'], FILTER_SANITIZE_STRING);
$message   = filter_var($_POST['message'], FILTER_SANITIZE_STRING);

// send mail and remember function response
// boolean response
$mailSent = mail($emailTo, $subject, $message);

// the echoed response will be traced in actionscript
if($mailSent == true)
{
    echo 'mail sent';
}
else
{
    echo 'mail NOT sent';
}

Simple.

Popularity: 4% [?]

Reverse la o animatie Flash cu ActionScript 3.0

Exemplu:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
/*
@ ActionScript 3
* Reverse la o animatie
------------------------------------
Scena contine un movie clip cu nume de instanta:  img
Movie clipul e o animatie de 60 frame-uri in care se mareste poza.
-----------------------------------------------------
*/

// activeaza movie clip-ul ca buton
img.buttonMode = true;
// dezactiveaza eventualele
img.mouseChildren = false;

// adauga 2 eventListener pe imagine
// pentru mouse over
img.addEventListener(MouseEvent.ROLL_OVER,overThat,false,0,true);
// pentru mouse out
img.addEventListener(MouseEvent.ROLL_OUT,outThat,false,0,true);

// cand cursorul este peste mc adauga un nou eventListener
// si activeaza functia "inainte"
function overThat(event:MouseEvent):void {
    event.target.removeEventListener(Event.ENTER_FRAME,inapoi);
    event.target.addEventListener(Event.ENTER_FRAME,inainte,false,0,true);
}

// cand cursorul iese de pe zona mc-ului scoate eventListener-ul existent
// si activeaza functia "inapoi"
function outThat(event:MouseEvent):void {
    event.target.removeEventListener(Event.ENTER_FRAME,inainte);
    if (!event.target.hasEventListener(Event.ENTER_FRAME)) {
        event.target.addEventListener(Event.ENTER_FRAME,inapoi,false,0,true);
    }
}

// atat timp cat mouse-ul este peste mc-ul "img" este activata aceasta functie
// si merge pana da peste "stop" in timeline-ul din movie clip
function inainte(event:Event):void {
    event.target.nextFrame();
   
}

// e reversul functiei "inainte"
function inapoi(event:Event):void {
    event.target.prevFrame();
}

Sursele complete aici: img_in_out.fla (Flash CS3). Enjoy!

Popularity: 7% [?]