I took the following code from http://blog.vamapaull.com/?p=426 (with some minor adjustments), but keep getting
Error: Error #2101: The String passed to URLVariables.decode() must be a URL-encoded query string containing name/value pairs.
at Error$/throwError()
at flash.net::URLVariables/decode()
at flash.net::URLVariables()
at flash.net::URLLoader/onComplete()
Code:
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;
lbutton.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{
info.gotoAndStop("please");
}
}
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)
{
MovieClip( parent ).editmc.gotoAndStop( "success" );
}
else
{
info.gotoAndStop("wrong");
}
}
PHP:
Code:
<?
//Made by vamapaull: http://blog.vamapaull.com
//Your set username and password
$username = "user";
$password = "pass";
//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";
}
?>