スレッド表示 | フラット表示〕 全トピック 920 件中 559 番目 次≫ ≪前

phpからFlashへ変数を

created: 2004-09-01 19:32 | modified: 2004-09-07 18:55 | reply: 2

[1769] phpからFlashへ変数を

user: ジョイ | created: 2004-09-01 19:32
久しぶりにお聞き致します。宜しくお願い致します。

下のphpなんですがFlashから飛んでくるようにしてますがデータベースを使わずに変数をFlashに返したいのですがどうすれば良いのかわかりません ご教授願えればありがたいのですが。
因みにMysqlにデータとして入れたのですが外字を使っているため(例えば $moji="?ョ";
の???飴?任后ヒ
そこでphp内で処理してその変数をFlashに戻せないものかと思っています。
よろしくお願い致します。

<?php

if (PHP_VERSION >= '4.1.0') {
//$fchoice2=$_POST["fchoice2"];
$moji=$_POST["moji"];
}
//$moji="っ";
if ($moji="、") {
$moji="?ョ";
}
if ($moji="っ") {
$moji="?。";
}
if ($moji="ッ") {
$moji="?「";
}
if ($moji="々") {
$moji="?」";
}

//echo $moji
echo "&moji"."=" . $row->$moji;

echo $moji;



?>
reply: 1775 返信 編集 削除

[1775] Re.phpからFlashへ変数を

user: hamaji | created: 2004-09-02 23:16
こんばんは。
ここのBBSへの書き込みは久しぶりです。
さて、ちょっと説明が理解しづらいですが、

>Flashから飛んでくる
というのはSUBMITされるということでしょうか?

>変数をFlashに返したいのですが
これはひとつの画面内でというこでしょうか?それとも画面遷移を行ってということでしょうか?

で、ちょっと試しにやってみましたが、
SUBMITするのであれば、必然的に画面遷移するので、1画面内ですべてを完結させるのは
無理そうです。
んで、ちょっと邪道かもしれませんが、PHPのセッションを使ってやってみました。
※test.swf(.fla)
fscommand("allowscale", false);
System.useCodepage=true;

var objSendVars = null;

// ボタン押したとき
_root.btn1.onRelease = function () {
objSendVars = new LoadVars();
objSendVars.before = 1; // これがphpに送信する変数
objSendVars.send("test.php", "_self", "post");
}
-----------------------------------------------------------
※test.php
<?php
session_start();

$strAfter = null;
if (isset($_POST['before'])) {

// FLASHから受け取った変数を加工してセッションへ格納
$strAfter = $_POST['before'] . "あいうえお";
$_SESSION['AFTER'] = $strAfter;

// PHPをバックグラウンドで起動させるのでFLASHを呼ぶHTMLへジャンプ
header("Location: test2.html");
exit;
}
else {
exit("だめーーーー");
}
?>
-----------------------------------------------------------
※test2.php
<?php
session_start();

$strAfter = null;
if (isset($_SESSION['AFTER'])) {
// test.phpでセットしたセッションをローカルに
$strAfter = $_SESSION['AFTER'];
echo "after=" . $strAfter; // これがFLASHに渡される
}
?>
-----------------------------------------------------------
※test2.swf(.fla)

fscommand("allowscale", false);
System.useCodepage=true;

// _rootにstrAfterという変数のダイナミックテキストを用意したとする
var strAfter = null;

objLoadVars = new LoadVars();
objLoadVars.onLoad = function() {
strAfter = objLoadVars.after;
}
// PHPから変数を取得
objLoadVars.load("./test2.php");
-----------------------------------------------------------

※test2.html(表示するFLASH)
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=Shift_JIS">
</head>
<body>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="300" height="100">
<param name="movie" value="test2.swf">
<param name="quality" value="high">
<embed src="test2.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="300" height="100"></embed></object>
</body>
</html>

test.swf→test.php→test2.php→test2.swfという感じです。
結果的に『1あいうえお』と言う文字が表示されているのが確認できましたよ。

これでは参考になりませんか?
あとは、FLASHでGETやPOSTの値を受け取るとか(できたかな?)
FLASHにパラメータを渡して起動(そんなことできるんか?って感じ)
というぐらいじゃないですか
Parent: 1769  reply: 1785 返信 編集 削除

[1785] FLASHにパラメータを渡して起動することはできるようです。

user: hamaji | created: 2004-09-07 18:55
こんばんは。
ちょっと追加情報
<object>タグのことを調べていたら、下の記事を発見しました。
http://hima.chu.jp/flash/tips/flash_with_arg.htm

http://www.macromedia.com/jp/support/flash/ts/documents/fl0284.html

FLASHにパラメータをつけて起動することはできるようですね。
で試しにやってみました。(今日は台風で帰りが早い。)
※test.fla(.swf)
fscommand("allowscale", false);
System.useCodepage=true;

var sendVars = null;
var objloadVars = null;

//テキストフィールドの初期化
_root.disp = "";

// ボタンが押されたとき
_root.btn1.onRelease = function () {
sendVars = new LoadVars();
sendVars.before = 1;
sendVars.send("tes.php", "_self", "post");
}

※test.php
<?php

$strAfter = null;
if (isset($_POST['before'])) { // FLASHから受け取った変数を加工する
$strAfter = $_POST['before'] . "あいうえお";
}
else {
exit("エラーーーー!!!");
}
/* 以下PHPで加工した変数を表示するFLASH */
?>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=Shift_JIS">
</head>
<body>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="300" height="100">
<param name="movie" value="test2.swf">
<param name="quality" value="high">
<param name="FlashVars" value="strAfter=<?= $strAfter?>">
<embed src="test2.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="300" height="100" FlashVars="strAfter=<?= $strAfter?>">
</embed>
</object>
</body>
</html>
<object>タグなら<param>でパラメータをつけてあげる。
<param name="FlashVars" value="strAfter=<?= $strAfter?>">
<embed>タグならFlashVarsプロパティに値をセットしてあげる。
<embed src="tes3.swf" ・・・・ FlashVars="strAfter=<?= $strAfter?>">
という具合です。
これだとセッションを使ったり、複数のファイルにまたがることが無いので
よさそうです。一度試してみてはどうでしょうか?
Parent: 1775  返信 編集 削除
スレッド表示 | フラット表示〕 全トピック 920 件中 559 番目 次≫ ≪前
ページの一番上へ
Googleグックマークに登録 Yahooグックマークに登録 livedoorクリップに登録 @niftyクリップに登録 はてなブックマークに登録 deliciousに登録 Buzzurlに登録 FC2ブックマークに登録
最近更新された掲示板トピックス
管理人Blog
Yahoo Search

最近更新したNote
PHPマニュアル
今日のブックマーク
PHPマニュアル関数検索
関数名を入力し検索ボタンをクリック↑