• ベストアンサー

swfファイルでセッション情報を渡す方法

ゲームサイトのようにID,Passでログインし、swfで得られた点数をPHPなどに渡すものを作ろうと思っています。 Flash内だけの動的な値を渡すことはもちろんできるのですが、どのユーザーでログインしているかのセッション情報をFlashから渡すにはどうすればいいでしょうか。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

◆PHP側 <?php session_start(); /******** * ログインID:$_SESSION['s_id'] * ログインPW:$_SESSION['s_pw'] */ $URL = "abc.swf?sid={$_SESSION['s_id']}&spw={$_SESSION['s_pw']}&"; ?> <object ...> ・ ・ <param value="<?=$URL?>" ...> <embed src="<?=$URL?>" ...> </embed> </object> ◆Flash側 var s_id = _root.sid; // ログインID var s_pw = _root.spw; // ログインPW のようにして値をPHPから受け取れます。 ですが、GETですのでソースの確認などで データが見えてしまいます^^; 私の場合はセッションに保存するような大事なデータ ではなかったため上記のような方法を取りました。 ※PHPSESSID:session.nameの値 セキュリティを考えると 1.$_COOKIE['PHPSESSID']を上記のようにGETでPHPからFlashに渡す。 2.'sess_'+$_COOKIE['PHPSESSID'] でセッションファイルを特定しする。 3.LoadVarsでセッションファイルからデータを読み込む。 といった方法のほうがいいかもしれませんね。 ただ、試してはいないのでどれだけ実現できるかは分かりません^^; umioyoさんの参考になれば幸いです。

その他の回答 (2)

回答No.3

セッションファイルを確認したところ次のように値が入っていました。 ※分かりやすいように各変数ごとに改行していますが、  実際は改行はなく続けて記録してあります。 --------------------------------- s_id|s:4:"abcd"; s_pw|s:4:"efgh"; s_time|i:1149758958; --------------------------------- となっていたので、 変数名|タイプ(s[文字列]、i[整数]):バイト数(タイプが文字列の場合):値; ということだと思います。 「|」が変数と値の詳細との区切り文字で 「;」が変数1つ分の区切り文字ということだと思います。 あとは、これの繰り返しです。

umioyo
質問者

お礼

なるほどなるほど。 御丁寧にありがとうございました。 早速確認してみます。 大変参考になりました。

回答No.1

umioyoさん、こんにちは。 Flashについてそれほど詳しくありません。 FlashとPHPの連携についてやったことがある程度です。 状況がうまく把握できないのですが、 セッション情報はPHP?Flash?どこでのものでしょうか。 PHPから受け取ったセッションIDを Flashで読み込み、それをPHPに返すということでしたら、 LoadVarsでできるんじゃないかな?と思います。

umioyo
質問者

お礼

御回答ありがとうございます。 セッションはPHPによるセッションです。 (Flash間でセッションって保持できるんでしょうか?) LoadVarsは外部テキストという頭があるんですが、PHPのセッション変数など読み込めるんでしょうか。 具体的な方法などありましたら御教授願えればと思います。 よろしくお願いいたします。

関連するQ&A

専門家に質問してみよう