【问题标题】:In AS3 Error #1069: Property systemResult not found on String and there is no default value在 AS3 错误 #1069 中:在字符串上找不到属性 systemResult 并且没有默认值
【发布时间】:2012-05-05 13:57:30
【问题描述】:

我是使用 xamp 集成 Flash、php 和 mysql 的新手。我尝试了很多来纠正这个错误,但我不能这样做,因为我不知道这个错误是在 php 页面中还是值没有传递给 php。

这是我的 AS3 代码:

public function processLogin ():void {


            trace("inside the processlogin method");

            var phpVars:URLVariables = new URLVariables();

            var phpFileRequest:URLRequest = new URLRequest("controlpanel.php");         
            phpFileRequest.method = URLRequestMethod.POST;          
            var phpLoader:URLLoader = new URLLoader();
            phpLoader.dataFormat = URLLoaderDataFormat.VARIABLES;           
            phpLoader.addEventListener(Event.COMPLETE, showResult);

            phpVars.Username = Username.text;
            trace(phpVars.Username);
            phpVars.password = password.text;
            trace(phpVars.password);
            phpFileRequest.data = phpVars;
            trace("phpvariable"+phpVars);
            phpLoader.dataFormat=URLLoaderDataFormat.TEXT;
            phpLoader.load(phpFileRequest);

        }

        public function showResult (event:Event):void {             
            trace("show result");           
            result_text.autoSize = TextFieldAutoSize.LEFT;      
            result_text.text = "" + event.target.data.systemResult;
            trace(event.target.data.systemResult);  
        }

    }

这是控制台中的输出:

sucess
now im in checklogin
inside the processlogin method
raj
raj
phpvariableUsername=raj&password=raj
starts process login method
show result
ReferenceError: Error #1069: Property systemResult not found on String and there is no default value.
    at actions::main/showResult()
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at flash.net::URLLoader/onComplete()

对应的php页面是

<html>
<body><?php 
include("connect.php");
 $username = $_POST['Username'];
 $password = $_POST['password'];
$query = mysql_query("SELECT * FROM users WHERE username='$Username' AND password='$password'");
$login_counter = mysql_num_rows($query);
while ($data = mysql_fetch_array($query)) 
{
$userbio = $data['user_bio'];
print "systemResult=$userbio";
}
?>
</body>
</html>

【问题讨论】:

    标签: php actionscript-3 flash


    【解决方案1】:

    错误消息说明了一切 - event.target.data 是一个字符串 - 没有属性 systemResult

    看看event.target.data,这应该是响应的html代码。

    【讨论】:

    • 我无法解决这个问题,你知道如何将 $userbio 放入闪存中。这包含用户的详细信息...这是在 target.data.systemResult 中设置的,这显示未定义的值
    • 第一个:$Username中的U必须小写$query = mysql_query("SELECT * FROM users WHERE username='$Username' AND password='$password'");第二:如果你这样做:trace(event.target.data) 它写“systemResult=...”吗?
    • ...我将用户名更改为小写。现在我怀疑这个 systemResult 是否携带我的 userbio 数据闪存。这是我的问题。非常感谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-07
    • 1970-01-01
    • 2014-02-08
    • 1970-01-01
    • 2023-03-13
    • 2018-08-27
    • 1970-01-01
    相关资源
    最近更新 更多