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,929 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:
<?php //Your set username and password $username = "vamapaull"; $password = "mypassword"; //Variables received from ActionScript $user=$_POST['user']; $pass=$_POST['pass']; //Chack them against each other if ($user == $username && $pass == $password){ print "secure_response=1"; }else{ print "secure_response=2"; } ?> |
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