登录屏幕的 Flash AS3 错误 #2101
Posted
技术标签:
【中文标题】登录屏幕的 Flash AS3 错误 #2101【英文标题】:Flash AS3 Error #2101 for login screen 【发布时间】:2015-07-10 12:31:57 【问题描述】:我还是 AS3 编程的新手 我试图让登录屏幕在我的 AIR 应用程序上工作,但出现错误 #2101 传递给 URLVariables.decode() 的字符串必须是 URL 编码的查询字符串,其中包含名称/值对。
这是 processLogin 的代码
public function processLogin():void
if(username.text != "" && password.text != "")
var checkName = username.text
var checkPass = password.text
var resulttext = result_text.text
var request:URLRequest = new URLRequest("http://localhost/caservers/aksessistemlogin.php")
var loader:URLLoader = new URLLoader()
var variables:URLVariables = new URLVariables()
variables.username = checkName
variables.password = checkPass
variables.systemResult = resulttext
loader.dataFormat = URLLoaderDataFormat.VARIABLES
request.data = variables
request.method = URLRequestMethod.POST
loader.addEventListener(Event.COMPLETE, logincheck)
loader.load(request)
function logincheck (event:Event):void
if (username.text == checkName && password.text == checkPass)
gotoAndPlay(2);
else
result_text.text = resulttext ;
这是PHP的代码
<?php
include_once "connect.php";
$username = $_POST['username'];
$password = $_POST['password'];
if ($_POST['systemCall'] == "checkLogin")
$sql = "SELECT * FROM users WHERE username='$username' AND password='$password'";
$query = mysqli_query($sql);
$login_counter = mysqli_num_rows($query);
if ($login_counter > 0)
while ($data = mysqli_fetch_array($query))
else
$systemResult = "The login details don't match our records";
?>
我打算做的是检查用户名和密码是否与数据库中的用户名和密码匹配,我遵循了一些教程,但即使没有在文本输入中输入任何内容,它最终也会前进到下一帧(只需点击提交)。
任何帮助将不胜感激!提前谢谢..
【问题讨论】:
你真的需要学习如何在 AS3 中使用分号 正如我之前所说,我是一个新手,这让我很困惑,因为有些教程使用了分号,而其他的则没有.. 没关系,只要去掉这行:loader.dataFormat = URLLoaderDataFormat.VARIABLES
啊是的,它现在可以工作了!非常感谢 :D 编辑:把它作为答案,所以我可以选择它:)
【参考方案1】:
当你在 AS3 中有这条线时:
loader.dataFormat = URLLoaderDataFormat.VARIABLES;
您告诉 Flash 将来自加载器的 响应 解码为 URL 编码变量。但是,您的响应不能是这样,因为当它尝试将 PHP 页面的输出解码为 URL 变量时会出现错误。
当您将URLVariables
对象分配给数据属性时,Flash 会自动知道您正在发送 URL 编码数据。
【讨论】:
感谢您的解释!我觉得很笨哈哈,我会在这个AS3上多学习一点,非常感谢! :) 别傻了,属性名很模糊,不清楚是指传出数据还是传入数据!这只是你在学习过程中学到的东西之一。 我会注意那个!万一我犯了同样的错误哈哈哈以上是关于登录屏幕的 Flash AS3 错误 #2101的主要内容,如果未能解决你的问题,请参考以下文章