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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   迷える子羊の部屋【初心者専用】
     PHPを介した掲示板でFLASHが最新のログを読み込まない
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
QouFla
Åê¹ÆNo.4358
投稿日時: 2004-2-29 13:35
新米
居住地:
投稿: 8
使用環境:
WinXP、2K
Flash MX
PHP 4.0
mySQL
PHPを介した掲示板でFLASHが最新のログを読み込まない
環境:Win2K、FLASH MX、PHP4.0

はじめまして!
FLASHとPHPの連携型プログラムの練習用に、
トップに置くような簡易掲示板を作成しました。
しかし、書き込んでも、PHPが受け取ってDATファイルに
書き込むまではうまくいくのですが、書き込んだ内容が
更新されません。

F5を押して読み直してもだめで、
一度ブラウザを全部閉じないと、書き込んだ内容が反映されません。

全体の流れは以下のとおりです。

1フレーム:読み込み
log.cgi(Data=name1<>文章<_>name2<>文章<_>・・・)を読み込みます。
読み込んだファイル内容をsplitでデコードする。
メインのデータ記録用MCに記録

2フレーム:データ表示

3フレーム:入力フレーム
  名前と文章を入力する

4フレーム
chat.phpに名前と文章、過去ログをPOSTで送信する。
chat.phpの処理が終わったら、1フレームに戻る。

chat.php
flashからデータを受け取る(POST)
名前と文章から、システムで使う文字を変換する。($を$にしてみたり)
データをlog.cgiに書き込む。("Data=${名前}<>${・・・)


こんな感じなんです。
現状では、ログファイルへの書き込みはできていて、
最初に述べた通り、一度ブラウザを全て閉じると更新されています。

HTMLを書き直したりして直るものなのでしょうか?

実物は下記のアドレスにおいてあります。
http://qou.jpn.ch/test/beta/index.html
ご指南いただければ幸いです
長沢剛
Åê¹ÆNo.4359
投稿日時: 2004-2-29 15:25
新米
居住地: 東京
投稿: 5
使用環境:
XP
WIN2000
MacOS 8.6 ,9
Flash5 ,MX2004
Re: PHPを介した掲示板でFLASHが最新のログを読み込まない
過去ログに答えはあると思いますが。。
手っ取り早い方法を試してみてください。

>chat.phpの処理が終わったら、1フレームに戻る。

送信処理をして、直ぐに1フレームに戻ると、phpが書き込み処理している間にFLASHが読込み処理をするので、追いつかなくて読込むテキストがない状態で、フレームが進んでいるのかと思います。

1フレームに戻る処理を少しフレームなどを追加して、読込よを少し遅らせて見て下さい。

厳密には、phpで書き込み処理をして、書き込みが終わったら、Flashに終わったことを知らせて、それを受けて、Flash側で再読込みをさせれば確実でしょうけれど、簡単に上の処理で上手くいったりします。

もしそれでもダメな場合は他の原因が考えられます。

的外れだったらごめんなさい m(_ _)m
QouFla
Åê¹ÆNo.4360
投稿日時: 2004-2-29 15:51
新米
居住地:
投稿: 8
使用環境:
WinXP、2K
Flash MX
PHP 4.0
mySQL
Re: PHPを介した掲示板でFLASHが最新のログを読み込まない
ご返信ありがとうございます。
一応onLoadを使用して送受信行っているつもりなんですが:
//_root.nameは記入者名
formSend.name = _root.name;
//_root.phraseは記入文
formSend.phrase = _root.phrase;
//_root.commentは過去ログを全て足したもの
formSend.comment = _root.comment;
formSend.sendAndLoad("http://qou.jpn.ch/",formSend, "POST");
formSend.onLoad = function(){
_root.name = "";
_root.gotoAndPlay(1); //今はちょっと次の空フレームへ飛ばしています
}

こんな感じになっています。
chat.phpの方は、書き込みの処理の後にecho "ok"で戻しているんですが。。。
更新のほうは済んでいるので、フレームを遅らせてもだめみたいです…。
長沢剛
Åê¹ÆNo.4361
投稿日時: 2004-2-29 16:29
新米
居住地: 東京
投稿: 5
使用環境:
XP
WIN2000
MacOS 8.6 ,9
Flash5 ,MX2004
Re: PHPを介した掲示板でFLASHが最新のログを読み込まない
最新以外は読込みできるのであれば、読み込み確認処理はなされていると思いますが。。
既に読まれていると思いますが、下記以外の書き方も有ります。

// 内容読込み確認処理
if (何でも良い == null) {
// [1]最後の変数がまだロードされていなければ
this.gotoAndPlay(_currentframe-1);
// [2]前のフレームに戻る
} else {
// [3]最後の変数がロードされたら
表示する処理
}

書き込みが終わってからも、過去データを読込む時のように上記のような処理を通さないと、
最新のデータが表示出来なかったりします。
rin-ko
Åê¹ÆNo.4362
投稿日時: 2004-2-29 16:38
職人
居住地: 東京
投稿: 397
使用環境:
MacOSX10.5/10.4
WinXP SP3
MX2004Pro/CS3
Re: PHPを介した掲示板でFLASHが最新のログを読み込まない
QouFlaさん、こんにちは。
1フレームでどのような処理をなさっているのか判らないのですが、もしかしてログが読み込めない、のではなく
「書き込み前のログ(変数)がある=ログ読み込み完了
→新たに読み込みをしない」
という判定をなさっていたりは…しませんか?
もし勘違いでしたら、すみません。
youich
Åê¹ÆNo.4364
投稿日時: 2004-2-29 16:59
職人
居住地: kobe
投稿: 349
使用環境:
Tiger
Re: PHPを介した掲示板でFLASHが最新のログを読み込まない
もしかして、logデータをFlashから直接LoadVars等で読んでるのなら
キャッシュのせいじゃないですかね?

var lo = new LoadVars();
lo.load("log.data");

lo.load("log.data?"+new Date().getTime());

でだめかな。


----------------
- yo

QouFla
Åê¹ÆNo.4365
投稿日時: 2004-2-29 17:11
新米
居住地:
投稿: 8
使用環境:
WinXP、2K
Flash MX
PHP 4.0
mySQL
Re: PHPを介した掲示板でFLASHが最新のログを読み込まない
youichさんのお書きくださったものを貼ってみたところ
ばっちり動きました!
どうもrin-koさんのおっしゃるとおりだったようです。
おかげさまでflashのプログラミングに見切りをつけずに
続けることができそうです!
ありがとうございました!これからも頑張ります!
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

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