トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   どこでもFlash【携帯向けFlash関連】
     FlashLite1.1のloadVariablesで次ページのPHPに引数を渡す方法を教えてください。
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
dseyasu
Åê¹ÆNo.32677
投稿日時: 2007-3-28 14:32
新米
居住地: 東京都
投稿: 3
使用環境:
WinXP
Flash8
FlashLite1.1
P902i
FlashLite1.1のloadVariablesで次ページのPHPに引数を渡す方法を教えてください。
はじめての投稿になります。
Flash初心者でいたらないところがあると思いますが、皆様よろしくお願いいたします。

現在FlashLite1.1にて引数を渡して、次ページ(PHP)の表示を切り替えることを
考えています。
具体的にはindex.swfに設置したボタンをユーザーが押した際にloadVariablesで
PHPを読み込こみ、その変数をgetURLに追加してmailtoないしは次のページに
遷移するという仕様です。

よく参考書にあるloadVariablesでダイナミックテキストに読み込むことは1クリックで
実現できるのですが、同じような要領でgetURLの引数に渡そうとすると、1回目の
クリックでPHPを読み込み(?)、2回目のクリックで意図した動きをするといった状況です。

====検証中ソース====

<----mode.php---->
<?php
$mode = "mode=test" ;
echo ("$mode");
?>

<----index.swf---->

#メール送信用 ※domainは架空のものです

on(press,keyPress"1"){
System.useCodepage = true ;
loadVariables('mode.php',mode);
if( data ){
getURL("mailto:info-"add mode add"@hogehoge.jp");
} else {
getURL("mailto:info-xxx@hogehoge.jp");
}
}

#次ページリンク用 ※domainは架空のものです

on(press,keyPress"2"){
System.useCodepage = true ;
loadVariables('mode.php',mode);
if( data ){
getURL("http://hogehoge.jp/search.php?mode="add mode);
} else {
getURL("http://hogehoge.jp/search.php?mode=xxx");
}
}

どちらかのボタンを1回でも押せば次のアクションは正常に動きました。
fsCommand2とかの関数を使えば解消できるものなのでしょうか?
(調べてみたんですが、それっぽい関数がわからなかったので・・・)

ソースの不備等がありましたら申し訳ございません。
どんな些細なことでも構いませんので、皆様よろしくお願いいたします。
misshiki
Åê¹ÆNo.32846
投稿日時: 2007-4-10 17:20
Bak@Fla名人
居住地: 山奥(ガチで)
投稿: 108
使用環境:
WinXP SP1,FLASH MX2004
ADOBE FLASH PLAYER 9
IE6,FireFox1.5,OPERA9.01
Re: FlashLite1.1のloadVariablesで次ページのPHPに引数を渡す方法を教えてください。
こんにちは。

はずしているかもしれませんが・・・


loadVariables('mode.php',mode);
if( data ){
    getURL("mailto:info-"add mode add"@hogehoge.jp");
} else {
    getURL("mailto:info-xxx@hogehoge.jp");
}


このコードだとPHPを呼び出した後、返答を待たずにif(data)を呼
び出してしまっているように見受けられます。
したがって1クリック目では意図した動きをしないのでは。

例えばLoadVarsクラスなどを使用し、onLoadイベントハンドラでき
ちっと待ち合わせて処理を行えば動くとおもいます。
使用方法はこちらをご覧下さい。
http://www.fumiononaka.com/TechNotes/Flash/FN0303007.html

けと
Åê¹ÆNo.32866
投稿日時: 2007-4-11 0:09
新米
居住地: おおさか
投稿: 20
使用環境:
.4.8
 
XP
 
Re: FlashLite1.1のloadVariablesで次ページのPHPに引数を渡す方法を教えてください。
こんばんは!けとです。
ちょっと長くなりますが…

いち。
getURLとloadVariablesは1つのアクション(ボタンを1回押す)でどちらか一つしか実行されません。
オーサリングガイドラインも記載があります。
なので、後者であるgetURLは無視されてしまいます。

に。
FlashLite1.1では、外部読み込みの読み込み完了を示す変数、読み込み完了を調べる関数はありません。
(↓はこれを想定したのかな?と思ったのですが、違ってたらすみません
引用:

if( data ){
getURL("mailto:info-"add mode add"@hogehoge.jp");
} else {
getURL("mailto:info-xxx@hogehoge.jp");
}

だと、dataという変数の値があればということになりますが、
提示いただいているPHPではmodeという変数しかないので、
他の場所でdataを設定していない限りは、値はずっと空のままだと思います。
あと、misshikiさんのおっしゃっていた、loadVarsもFlashLite1.1では使えません。
便利なんですが…。

さん。
引用:

loadVariables('mode.php',mode);


の"mode"(第2引数)は何を想定しておられますか?
ここは、 ロードした変数を受け取るムービークリップへのターゲットパス(_rootとか)がはいります。
詳しくはヘルプを見てみてくださいネ。


まとめ。
loadVariablesで値を取得→受け取る→取得した値を別のPHPにgetURLで渡す
を実現するためには、2回はボタンを押す必要があります。
また、loadVariablesなどでの値を取得と、タイムラインとは非同期です。
なので、misshikiさんのおっしゃるように、ホントに値を読み込んだかどうかの処理が必要になります。
つたない例ですが、
loadVariablesとgetURL
で、考え方を書いてみましたので、ご参考になれば。

あと、想像ですが、
引用:

どちらかのボタンを1回でも押せば次のアクションは正常に動きました。

2回目押したときは、loadVariablesがエラーになっているのかも…。
これはちょっとわかりません。すみません。

では、がんばってください
dseyasu
Åê¹ÆNo.32905
投稿日時: 2007-4-13 18:11
新米
居住地: 東京都
投稿: 3
使用環境:
WinXP
Flash8
FlashLite1.1
P902i
Re: FlashLite1.1のloadVariablesで次ページのPHPに引数を渡す方法を教えてください。
misshikiさん、けとさん、書き込みありがとうございました。

misshikiさんのいうように、FlashVarsが使えれば良かったんですが、
FlashLiteでの製作って難しいですね

引用:

いち。
getURLとloadVariablesは1つのアクション(ボタンを1回押す)でどちらか一つしか実行されません。
オーサリングガイドラインも記載があります。
なので、後者であるgetURLは無視されてしまいます。


すいません。書き込み後にいろいろ調べている時に私も同様の内容を発見いたしました。
もっときちんと調べてから質問するべきですね

引用:

さん。
引用:

loadVariables('mode.php',mode);


の"mode"(第2引数)は何を想定しておられますか?
ここは、 ロードした変数を受け取るムービークリップへのターゲットパス(_rootとか)がはいります。


一番最初は_rootと記述してテストをしてみたんですが、ダイナミックテキストに
流し込むのはできたんですが、変数に渡そうとした時にうまくいきませんでした。

苦し紛れにmodeと記述したら動いたみたいなのでそのままにしておりました。

引用:

loadVariablesで値を取得→受け取る→取得した値を別のPHPにgetURLで渡す
を実現するためには、2回はボタンを押す必要があります。


これまた素人考えで、下ボタンを押した時にloadVariablesして、
ボタンをクリックした時にgetURLと思ったんですが、無理みたいでした。

ご指摘いただいたURLの記事も閲覧していたんですが、FlashからHTMLに
変数を引き継ぎたかったもので…
Flash間でしたらけとさんのおっしゃる手法が効果的な気がしています。

結論からいうと2回ボタンを押すという作業が必須な気がしますが、
もう少し試行錯誤してみたいと思います。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops