PHP строка для Flash-переменных - PullRequest
0 голосов
/ 05 ноября 2011

Я использую AS3 для проекта, и мне нужно отправить некоторые флэш-переменные в PHP, проверить данные MySQL и получить некоторые результаты во Flash.Я делаю это следующим образом: new URLRequest(URL + "?p=" + SelectedCountry + "&action=check&nocache=" + Math.floor(Math.random() * (10000000)));

и код php просто проверяет MySQL, есть ли строка с выбранной страной:

if($_REQUEST['action'] == "check") {

    $q = mysql_query("SELECT * FROM myDB WHERE country = '".$_REQUEST['p']."'");

    if(mysql_num_rows($q) == 0) {
        echo "nqma";
    } else {
        echo "ima";
    }
}

ОК, это нормально, и это работаетпотому что я могу использовать это во Flash:

if(e.target.data == "ima") {
    uiRepCountryLabel.text = "Ima";
} 
if(e.target.data == "nqma") {
    uiRepCountryLabel.text = "Nqma";
}

Но что если я хочу, чтобы результат php выглядел так:

if($_REQUEST['action'] == "check") {
    $q = mysql_query("SELECT * FROM myDB WHERE country = '".$_REQUEST['p']."'");
    if(mysql_num_rows($q) == 0) {
        echo "res=nqma";
    } else {
        echo "res=ima&hisCountry=Bulgaria&hisPhoneNumber=000000123&hisCity=Svishtov&his.....";
    }
}

Как я могу использовать этот формат во Flash?Я знаю, что многие из вас скажут мне использовать AMFPHP, но я не могу, потому что мой клиент не хочет.

Ответы [ 2 ]

0 голосов
/ 06 ноября 2011

Вы можете добавить это к записи Крукси:

function onUploadComplete(e:Event)
{   
    var phpvars:URLVariables = new URLVariables(event.target.data);

    trace(phpvars.res,phpvars.hisCountry);
}
0 голосов
/ 05 ноября 2011

Примерно так:

var appheader:URLRequestHeader = new URLRequestHeader("Content-type", "application/octet-stream"); 
var urlRequest:URLRequest = new URLRequest(URL + "?p=" + SelectedCountry + "&action=check&nocache=" + Math.floor(Math.random() * (10000000)));

urlRequest.requestHeaders.push(appheader);
urlRequest.method = URLRequestMethod.POST;

var urlloader:URLLoader = new URLLoader(urlRequest);
urlloader.addEventListener(Event.COMPLETE, onUploadComplete);
urlloader.dataFormat = URLLoaderDataFormat.VARIABLES; 
urlloader.load(urlRequest);

urlloader.addEventListener(IOErrorEvent.IO_ERROR, handleGetSessionIOError);
}



function handleGetSessionIOError(e:IOErrorEvent):void {   
 trace("handleGetSessionIOError "+e);

}



function onUploadComplete(e:Event):void {   
trace("uploaded to server."+e.target.data);

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...