Password protected content in Flash with ActionScript 3 and PHP
This morning I was browsing through the gotoAndLearn forum and I saw a question about how to make a password protected section in a Flash site. So, I made a quick example and I thought I should share it with all my readers too 😉
You can download the source files from here:
Password Protected Flash Content (800.5 KiB, 2,972 hits)
Here you can see the ActionScript 3 code:
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.showDefaultContextMenu = false;
//path to the php file on your server
var phpPath:String = "login.php";
//make password text field (when you type the characters will be like "******")
pass.displayAsPassword = true;
login.addEventListener(MouseEvent.MOUSE_DOWN, loginDown);
function loginDown(e:MouseEvent):void{
//check to see if something in both the user and pass text fields
if (user.text != "" && pass.text != "") {
sendLoadData();
}else{
trace("Please fill in both username and password");
}
}
stop();
function sendLoadData():void
{
var dataRequest:URLRequest = new URLRequest(phpPath);
dataRequest.method = URLRequestMethod.POST;
// define the custom parameters that will be sent to the .php file
var params:URLVariables = new URLVariables();
params.user = user.text;
params.pass = pass.text;
dataRequest.data = params;
var urlLoader:URLLoader = new URLLoader();
urlLoader.dataFormat = URLLoaderDataFormat.VARIABLES;
urlLoader.addEventListener(Event.COMPLETE, urlLoaderComplete);
try
{
urlLoader.load(dataRequest);
}
catch (event:Error)
{
trace("Incorrect PHP file path.");
}
}
function urlLoaderComplete(event:Event):void
{
// once all the data has been sent and we'll check for a message sent
// from the php file to tell us if the operation has ended with success or not
errorHandler(event.target.data.secure_response);
}
function errorHandler(message:Number):void
{
// check the message that was sent back from the php file
//trace(message)
if (message == 1)
{
gotoAndStop(2);
}
else
{
trace("Wrong Username or Password");
}
}
And here you have the PHP code:
Hi vamapaull,
How do you add a list of usernames and passwords into the php script? Do you declare them as an Array if that is possible in php?
I am trying to set up a flash “gate”. But i unable to change your php code to add a list of usernames and passwords. I also want to send users to different frames in my flash gate. For example password1 will load frame1, password2 will load frame2 After days of testing and searching the internet I have made no progress. Can you help me or give me a hint ?
That would be awesome!!
james
Nice. Your blog is bookmarked.
Haven’t tested this yet though.
Very good. Thank you.
One small change. The php needs to start with “<?php"
in Flash 10, there is a bug that doesn’t allow:
urlLoader.dataFormat = URLLoaderDataFormat.VARIABLES
so it has to turn into:
urlLoader.dataFormat = URLLoaderDataFormat.TEXT
but even then, the php doesn’t recognize the data string