0
創建一個Flash項目,用戶可以訪問該網站並關閉/打開房屋中的物體(即燈光,電視,計算機等)。下一個將訪問該房屋的用戶該網站將會看到什麼燈或家用電器留下。 Flash變量被傳遞給PHP,並且這些變量被保存在一個XML文件中。 (要進行測試以查看保存到XML文件的內容,請單擊--vars.xml打開。)在vars.xml文件中,我看到上次打開的房屋對象 - 保存在XML文件 - 但在SWF文件中,只有XML中列出的一個對象被打開。只有被點擊的最後一個對象會顯示ON - 不是所有的XML文件中的對象)將變量從Flash傳遞到PHP
package {
import flash.display.MovieClip;
import flash.events.MouseEvent;
import flash.events.Event;
import flash.text.*;
import flash.net.*;
public class House extends MovieClip {
var request:URLRequest = new URLRequest("vars.xml")
var loader:URLLoader = new URLLoader();
// Constructor--------------------------------------------------------------------
public function House()
{
loader.addEventListener(Event.COMPLETE, parseXML);
loader.load(request);
}
// function sendPhp ------------------------------------------------------------------
function sendPhp():void
{
// send vars to php
var request:URLRequest = new URLRequest("write_xml.php"); // the php file to send data to
var variables:URLVariables = new URLVariables(); // create an array of POST vars
for (var i:int=0; i<onList.length; i++) {
variables["v"+i] = onList[i];
}
//variables['powerUsage'] = totalTxt.text;
request.data = variables; // send the vars to the data property of the requested url (our php file)
request.method = URLRequestMethod.POST; // use POST as the send method
try
{
var sender:URLLoader = new URLLoader();
sender.load(request); // load the php file and send it the variable data
navigateToURL(new URLRequest("vars.xml"), '_blank'); //show me the xml
}
catch (e:Error)
{
trace(e); // trace error if there is a problem
}
}
// function parseXML ------------------------------------------------------------------
function parseXML(evt:Event)
{
var xdata:XML = new XML(loader.data); // using E4x
//xdata.child(0);
for (var j:int=0; j<xdata.length(); j++) {
onList[j] = xdata.child(j);
for (var k:int=0; k<HouseObjects.length;k++) {
//root[onList[j]].gotoAndStop(3);
if (onList[j] == HouseObjects[k].name) {
HouseObjects[k].gotoAndStop(3);
//trace("tracing house objects"+ HouseObjects[k]);
trace("onList[j]: " + onList[j]);
trace("Array onList: " + onList);
}
}
}
}
} //end of class
} // end of package
這可能不是很好,因爲很多人可能會立即切換 – 2010-09-04 02:52:15
請確保您轉義/驗證您的$ _POST變量。此刻任何人都可以將任何東西放入你的'.xml'文件中 – 2010-09-04 16:11:35