我怎么能从AS3发送一个字符串到一个PHP文件,这样它就可以用来做一个数据库查询


How can i send a String from AS3 to a PHP file so it can be use to do a database query

我在Flash CS5上构建这个AIR应用程序,并且我有这个TileList从数据库加载其数据(图像和名称)。

我想做一个查询与名称的任何项目的Tilelist点击时,所以我需要将该项的名称发送到一个PHP文件,将执行查询。

我在考虑一个函数,当项目被点击时,将项目名称加载到一个变量。

我如何将它发送到PHP文件,我如何将它加载到查询?

非常感谢所有帮助我的人。

我想对php文件的查询是这样的:SELECT lat, lon FROM mapdata WHERE name=theVariable;

您可以通过$_GET或$_POST将其发送到php文件。Get看起来像:

... query.php?string={ INSERT ENCODED STRING }

您可以使用URLLoader向web服务发送和接收数据。只需添加所需的数据(可能是URLVariables)。出于安全原因,我显然会避免发送这样的完整查询。

不要忘记在将输入放入查询之前清理输入!

我在PHP方面帮不上什么忙——我用PHP已经很多年了。您将使用$_POST或$_GET,我怀疑有现成的函数来清理数据,因此将其发送到数据库是安全的(某种形式的escapeencode)。

正如jonathan Hedborg所说:

var url:String = "http://www.[yourDomain].com/application.php";
var request:URLRequest = new URLRequest(url);
var variables:URLVariables = new URLVariables();
variables.exampleSessionId = new Date().getTime();
variables.exampleUserLabel = "guest";
request.data = variables;
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, onLoadData);
loader.addEventListener(IOErrorEvent.IO_ERROR, onDataFiledToLoad);
loader.addEventListener(IOErrorEvent.NETWORK_ERROR, onDataFiledToLoad);
loader.addEventListener(IOErrorEvent.VERIFY_ERROR, onDataFiledToLoad);
loader.addEventListener(IOErrorEvent.DISK_ERROR, onDataFiledToLoad);
loader.load(request);
function onLoadData(e:Event):void {
    trace("onLoadData result=" + e.target.data);
}
function onDataFiledToLoad(e:IOErrorEvent):void {
    trace("onDataFiledToLoad error=" + e.text);
}

不要忘记在您的服务器上添加crossdomain.xml,以防万一您正在从另一个域发出请求。

相关文章: