Home > Flash > Flashでxoopsにログイン、状態取得などやってみる

Flashでxoopsにログイン、状態取得などやってみる

  • Posted by: ryow
  • 2007年12月29日 00:32
  • Flash

早速ですがコードです。「username.php」とします。

<?php
	include "./mainfile.php";
	if(!empty($xoopsUser)) {

		// ログインユーザ名の取得
		$uname = $xoopsUser->getVar('name');
		if($uname == '') {
			$uname = $xoopsUser->getVar('uname');
		}

		// ログインユーザIDの取得
		$uid   = $xoopsUser->getVar('uid');

		header("Content-type: text/plain");
		//LoadVarsで読める形式にして書き出し
		echo "&uname=".$uname."&uid=".$uid."&";
	}else{
		echo "not logon";
	}
?>

これは何をやってんのかっていうと、xoopsにログインした状態でこのPHPにアクセスすることでユーザ名とユーザIDを取得するよ、という内容です。
戻り値は「&uname=AAAA&uid=BBBB&」です(AAAA/BBBBはそれぞれ変数)。

Flash側からはLoadVarsでアクセスします。ここは簡単に、TEST_btnを押すと名前を表示、というところだけ。

var receive_lv:LoadVars = new LoadVars();
receive_lv.onLoad = function(success:Boolean):Void  {
	if (success) {
		trace( this.uid + " グループの")
		trace( this.uname + " さん" )
	} else {
		trace("err")
	}
};

TEST_btn.onRelease = function() {
	receive_lv.load("http://YOURHOSTNAME/username.php");
};

要はPHPのecho文でLoadVarsが処理できる変数名ごと渡しちゃえば楽だよ、というだけのことです。xoopsは通常、HTMLを返すので、変数名が何なのかさえ分かっていれば、直接それを返させるようにすればいいということですね。

あと、当たり前ですが一応。LoadVarsのloadとかsendAndLoadとかの処理は、onLoadやonData処理よりも後に書いたほうが、成功したときの関数がundefinedにならないので注意です。

いちいちxoopsの返す形式まで変えてらんねーよボケ! という場合は、しょうがないのでHTMLをそのまま返させるようにして、成功したときとしないときの文字数を比較して成功したかどうかを得る、っていうのもアリかもしれません。

とりあえず、↑のコードならxoops2でもxoopsCUBEでも大丈夫でした。

Comments:0

Comment Form

Trackbacks:0

TrackBack URL for this entry
http://ryow.net/mt/mt-tb.cgi/270
Listed below are links to weblogs that reference
Flashでxoopsにログイン、状態取得などやってみる from ryow.net Blog

Home > Flash > Flashでxoopsにログイン、状態取得などやってみる

About

りょうどっとねっとブログ

Twitter :ryownet

はてな :ryownet

Search

Return to page top