- 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でも大丈夫でした。
- Newer: KAYAC & CUPPY お年賀プロジェクト2008
- Older: ブログパーツだけ使えるようにすりゃあいいだろ、と思われてる気がする
Comments:0
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