s26

phpとas3.0の連携

以前as2.0ではxmlのやりとりを行っていましたが、今回もそんなに難しくはなかったです。

次のようなphpファイルを用意しました。

POSTメソッドで送られたものが「1」ならichiと返し、
それ以外ならそのまま返す。という意味のphpです。

途中でメソッドの指定

request.method = URLRequestMethod.POST;

何を送るかを明確にする。

request.method = URLRequestMethod.POST;

あとは形式の設定などが必要ですが、最低限、これだけでできました。
まぁ、phpができる人がいれば会員サイト的なものを
セッションする事でできたりします。
下が全ソースです。

package {
	import flash.display.Sprite;
	import flash.net.URLRequest;
	import flash.net.URLRequestMethod;
	import flash.net.URLVariables;
	import flash.net.URLLoader;
	import flash.net.URLLoaderDataFormat;
	import flash.events.*;
	import flash.text.TextField
	import flash.system.*;


	public class php_check extends Sprite {		
		public function php_check() {	
			System.useCodePage = true;
			var request:URLRequest = new URLRequest("num.php");
			//送信の方法(postメソッドを使用)
			request.method = URLRequestMethod.POST;
			
			var variables:URLVariables = new URLVariables();
			variables.num = 1;
			request.data = variables;
			
			var loader:URLLoader = new URLLoader (request);
			//データ形式はこの他にテキストとバイナリで利用ができる。
			loader.dataFormat = URLLoaderDataFormat.VARIABLES;
			loader.addEventListener(Event.COMPLETE, onComplete);
			loader.load(request);			
		}
		
		private function onComplete(e:Event):void {
			e.target.removeEventListener(Event.COMPLETE, onComplete);
			var vars:URLVariables = new URLVariables( e.target.data )
			var txt:TextField = new TextField();
			txt.text = vars.comp.toString();
			addChild(txt)
		}
		
	}
	
}