FlashAS3.0(FlashPro)与PHP和MySql之间的连接

FlashAS3.0(FlashPro)与PHP和MySql之间的连接,php,mysql,flash,Php,Mysql,Flash,我知道这个问题经常出现,但我在互联网上的每个教程中都没有找到答案。我不知道有什么错误,不管是flash与php的连接还是php与MySql的连接。 这是我的密码 梅因 包操作{ /* 使用flash时,始终使用movieclip而不是sprite扩展类。 */ 导入flash.display.MovieClip; 导入flash.events.*; 导入flash.net。*; 导入flash.text.*; /* 创建我们的类 */ 公共类main扩展了MovieClip{ 公共函数main(

我知道这个问题经常出现,但我在互联网上的每个教程中都没有找到答案。我不知道有什么错误,不管是flash与php的连接还是php与MySql的连接。 这是我的密码

梅因
包操作{
/*
使用flash时,始终使用movieclip而不是sprite扩展类。
*/
导入flash.display.MovieClip;
导入flash.events.*;
导入flash.net。*;
导入flash.text.*;
/*
创建我们的类
*/
公共类main扩展了MovieClip{
公共函数main():void{
/*
buttonMode为submit按钮提供滚动
*/
submit_button.buttonMode=true;
/*
这说明当按下按钮时,checkLogin功能将运行
*/
submit_button.addEventListener(MouseEvent.MOUSE_DOWN,checkLogin);
/*
设置初始文本字段值
*/
username.text=“”;
pass.text=“”;
}
/*
用于检查登录的函数
*/
公共函数checkLogin(e:MouseEvent):void{
/*
在向php发送请求之前检查字段
*/
如果(username.text==“”| | pass.text==“”){
/*
如果用户名或密码字段为空,则设置错误消息
*/
如果(username.text==“”){
username.text=“输入您的用户名”;
} 
如果(pass.text==“”){
pass.text=“输入您的密码”;
}
}否则{
/*
初始化函数以处理登录
*/
processLogin();
}
}
/*
函数来处理我们的登录
*/
公共函数processLogin():void{
/*
我们发送到php文件的变量
*/
var phpVars:URLVariables=新的URLVariables();
/*
我们创建一个URLRequest变量,它获取php文件路径。
*/
var phpFileRequest:URLRequest=newurlrequest(“php/controlpanel.php”);
/*
这允许我们在php中使用post函数
*/
phpFileRequest.method=URLRequestMethod.POST;
/*
将php变量附加到URL请求
*/
phpFileRequest.data=phpVars;
/*
创建一个新的加载程序来加载和发送我们的URL请求
*/
var phpLoader:URLLoader=新的URLLoader();
phpLoader.dataFormat=URLLoaderDataFormat.VARIABLES;
phpLoader.addEventListener(Event.COMPLETE,showResult);
/*
现在让我们创建要发送到php文件的变量
*/
phpVars.systemCall=“checkLogin”;
phpVars.username=username.text;
phpVars.pass=pass.text;
/*
这将启动flash和php之间的通信
*/
phpLoader.load(phpFileRequest);
}
/*
函数显示登录结果
*/
公共功能showResult(事件:事件):无效{
/*
这将自动调整文本字段的大小
*****您需要导入flash的文本类。您可以通过以下方式完成此操作:
导入flash.text.*;
*/
结果_text.autoSize=TextFieldAutoSize.LEFT;
/*
这将获取输出并将其显示在结果文本字段中
*/
var resultVar:URLLoader=新的URLLoader(event.target.data.systemResult);
result_text.text=”“+resultVar;
}
}

}
您需要在服务器端测试PHP/MySQL连接(只需编写一个带有静态值的PHP脚本,看看是否会出现错误)。对于客户端,尝试将这些事件添加到加载程序,它可能会提示您出了什么问题:

    phpLoader.addEventListener(IOErrorEvent.IO_ERROR, onIOError);
    phpLoader.addEventListener(IOErrorEvent.NETWORK_ERROR, onIOError);
    phpLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onSecurityError);
    phpLoader.addEventListener(HTTPStatusEvent.HTTP_STATUS, onHTTPStatus);

    private function onIOError(e:IOErrorEvent):void
    {
        trace("onIOError " + e.toString());
    }

    private function onSecurityError(e:SecurityErrorEvent):void
    {
        trace("onSecurityError " + e.toString());
    }

    private function onHTTPStatus(e:HTTPStatusEvent):void
    {
        trace("onHTTPStatus statuscode " + e.status + " - " + e.toString());
    }

谢谢你的回答,现在我知道我的问题了。我无法将php中的变量带入flash。php打印“systemResult='$userbio'”;和flash result_text.text=event.target.data.systemResult;那么你能帮我把php中的特定数据放到flash中吗?哦,现在我明白了:)在showResult方法中,它应该是result\u text.text=event.target.data.systemResult;PHP脚本正在打印的所有变量都在event.target.data对象内部。因此,您的PHP可以打印“systemResult=这是我的结果&moreInfo=更多信息”,并且您的数据对象中会同时包含两个变量——systemResult和moreInfo。请记住,您需要转换值中的实体(以便&将成为&;),否则,如果您的值包含“&”,它将中断输出。因此,您的PHP脚本需要类似$userbio=htmlentities($data[“user_bio”]);