我遇到了Flash和PHP的奇怪問題。實際上,我有一個忘記密碼的形式在閃存中用戶輸入他的電子郵件ID,當按下提交按鈕閃存傳遞數據到PHP和檢索(這裏我卡住)來自PHP的數據。FLASH/PHP的奇怪問題
問題是Flash從PHP獲取UNDEFINED。
我的flash代碼。
var email_id:RegExp = /(\w|[_.\-])[email protected]((\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";
}
?>
有return_var前的空間,但我不知道爲什麼..我已經檢查了我的PHP文件100倍,它比什麼是完美的問題??????????????????????????????????????????
編輯:
If i am tracing
trace(e.target.data);
it traces
%20return%5Fvar=success
注意:%20返回之前%5var //那是什麼?????????????
Thanx ajreal ... – hardik
我沒有看到一個明顯的問題,但無論如何你也應該做一個服務器端驗證,導致其真的很容易讓別人發佈你的表格與無效的電子郵件 – nonouco
您的服務器返回值是「STRING」將其解析爲字符串而不是對象。如果你想從服務器傳遞一個對象,使用JSON。 –