Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
FLASH/PHP的奇怪问题_Php_Flash_Actionscript 3_Actionscript - Fatal编程技术网

FLASH/PHP的奇怪问题

FLASH/PHP的奇怪问题,php,flash,actionscript-3,actionscript,Php,Flash,Actionscript 3,Actionscript,我对Flash和PHP有一个奇怪的问题。实际上,我在flash中有一个忘记密码表单,用户在表单中输入他的电子邮件id,当按下submit按钮时,flash将数据传递给PHP,从PHP检索数据 问题是Flash从PHP获得未定义的 我的闪存代码。 var email_id:RegExp = /(\w|[_.\-])+@((\w|-)+\.)+\w{2,4}+/; var urlRequest:URLRequest = new URLRequest("forgot_password.php"); v

我对Flash和PHP有一个奇怪的问题。实际上,我在flash中有一个忘记密码表单,用户在表单中输入他的电子邮件id,当按下submit按钮时,flash将数据传递给PHP,从PHP检索数据

问题是Flash从PHP获得未定义的

我的闪存代码。

var email_id:RegExp = /(\w|[_.\-])+@((\w|-)+\.)+\w{2,4}+/;
var urlRequest:URLRequest = new URLRequest("forgot_password.php");
var urlVariable:URLVariables = new URLVariables();

var urlLoader:URLLoader = new URLLoader();
urlLoader.dataFormat = URLLoaderDataFormat.VARIABLES;

urlLoader.addEventListener(Event.COMPLETE, urlLoader_complete);


btn_submit.addEventListener(MouseEvent.CLICK, btn_submit_click);
function btn_submit_click(e:Event)
{
    if(txt_email.text == "")
    {
        txt_error.text = "Email can not be blank.";
    }
    else if(!email_id.test(txt_email.text))
    {
        txt_error.text = "Enter proper email address.";
    }
    else
    {
        urlVariable.mailId = txt_email.text;
        urlRequest.data = urlVariable;

        urlLoader.load(urlRequest);
    }
}

function urlLoader_complete(e:Event)
{
        trace(e.target.data.return_var); // **it receive Undefined** i am checking in flashlog.txt :(
    //txt_error.text = e.target.data.return_var;
}
我的PHP代码

<?php
require_once('connection.php');

$query = "select * from user_account where email='".$_REQUEST['mailId']."'";
$result = mysql_query($query);

if(mysql_num_rows($result) > 0)
{
    echo "return_var=success";
}
else
{
    echo "return_var=failed";
}
 ?>

注意%20在返回%5var//这是什么?

显然问题不在PHP中,无论如何,您应该这样写以防止SQL注入

<?php
require_once 'connection.php';

$email = $_GET['mailId'];
$email = mysql_real_escape_string($email);

$query = "SELECT email FROM user_account WHERE email = '$email' LIMIT 1";
$result = mysql_query($query);

echo (mysql_num_rows($result) > 0)? 'return_var=success': 'return_var=failed';
?>

删除此行:

urlLoader.dataFormat = URLLoaderDataFormat.VARIABLES;
并将
urloader\u complete()
函数更改为:

function urlLoader_complete(e:Event)
{
    var loader:URLLoader = URLLoader(e.target);  
    var vars:URLVariables = new URLVariables(loader.data);  
    trace(vars.return_var);
}

这有帮助吗?

首先感谢大家的贡献

现在这个问题与Flash或PHP无关,但与我们的服务器有关。若我正在创建PHP文件并直接保存到服务器上,那个么PHP文件会在变量名前添加一个空格,以给出响应。如果我正在创建PHP文件,并将其保存在本地驱动器中,然后将其粘贴到服务器上,那么效果会非常好

请参阅两个文件之间的响应差异

return_var=success

 return_var=success // adding space before response.
可能是它的问题与记忆有关,但现在它工作良好,所以干杯


还有很多问题。

我看不出有什么明显的问题,但在任何情况下,您也应该进行服务器端验证,因为有人很容易用无效的电子邮件发布表单。您从服务器返回的值是“字符串”,将其解析为字符串而不是对象。如果要从服务器传递对象,请使用JSON.Thanx作为答案。但问题不同,请检查编辑。
return_var=success

 return_var=success // adding space before response.