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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   サーバ関連【CGI・FCS・XMLSocket etc】
     sendAndLoadがうまくいきません
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
hosidori
Åê¹ÆNo.6409
投稿日時: 2004-4-20 19:24
半人前
居住地:
投稿: 31
使用環境:
Flash CS3
FireFox3
WINDOWS Vista
sendAndLoadがうまくいきません
はじめまして。hosidori(星鳥)と申します。
初心者ですが、今後とも宜しくお願いします。
FLASHを買って、本を購入して勉強をしていたのですが
行き詰まってしまいました。どなたか、ご教授して頂けませんか?

FLASH側で二つの数を入力して
ボタンを押すと、PHPで二つの数を受け取り、計算してから
FLASH側に渡し、FLASHに渡った事を確認するために
計算結果を別窓に出力したいのですが、うまくいきません。
動作環境は
Flash MX Professional 2004
PHP 4.2.3
Apache 1.3.27
インターネットエクスプローラー6
WINDOWS XP HomeEdition
です。

///失敗したFLASHのステージの内容

●テキスト入力をする物を二つ配置
変数名は、valueaとvalueb

●ClickHanderをsendFormにしたボタンを配置

///////以下FLASH側のスクリプト
function sendForm(theCompornent) {
formData = new LoadVars();
formData.valuea = valuea;
formData.valueb = valueb;

receivedData = new LoadVars();

formData.sendAndLoad("http://localhost/sum.php",receivedData,"GET");
receivedData.onLoad = function() {
trace("合計:" + receivedData.sum);
}
}
//////以下PHP側スクリプト(sum.phpとういうファイル名
<?php
$sum = $HTTP_GET_VARS["valuea"] + $HTTP_GET_VARS["valueb"];
print("$sum=".$sum);
?>

こういう記述で、計算をするボタンを押しても
何も変化がありません。

本には、$HTTP_GET_VARS["valueb"];を$HTTP_POST_VARS["valueb"];
と書いてましたが、もしかして、GETでは無くPOSTなのでしょうか。
どちらでも動きません。GETが正しそうだと思っています。

何か分かり次第報告致します。
宜しくお願い致します。
かずぃ
Åê¹ÆNo.6416
投稿日時: 2004-4-20 21:02
半人前
居住地:
投稿: 49
使用環境:
98SE 10.3 MX
Re: sendAndLoadがうまくいきません
いくつか問題が散見されますね。

引用:
計算結果を別窓に出力したいのですが

LoadVars.sendAndLoadでは基本的に新規にブラウザのウインドウを開くことはありません。

引用:
//formData.sendAndLoad("http://localhost/sum.php",receivedData,"GET");
receivedData.onLoad = function() {
trace("合計:" + receivedData.sum);
}
formData.sendAndLoad("http://localhost/sum.php",receivedData,"GET");

呼び出す順番が非常に大切です。

引用:
本には、$HTTP_GET_VARS["valueb"];を$HTTP_POST_VARS["valueb"];
と書いてましたが、もしかして、GETでは無くPOSTなのでしょうか。

その本はPHPのバージョンが古そうですね。今は基本的には$_POST['valuea']、$_GET['valueb']や$_REQUEST['valuea']などとして変数を受け取ります。POSTとGETの使い分けはLoadVars.sendAndLoadの第三引数によります。
なので今回はGETが正しいですね。
また、$_REQUESTはGETでもPOSTでも区別無く受け取れます。

あと、PHP等との連携の試験はムービープレビューだと変な動作をすることがあるのでちゃんとサーバーにアップロードして動作確認をしたほうがいいとおもいます。
hosidori
Åê¹ÆNo.6436
投稿日時: 2004-4-21 1:40
半人前
居住地:
投稿: 31
使用環境:
Flash CS3
FireFox3
WINDOWS Vista
お返事ありがとうございます。
お返事ありがとうございます。

まだ少し問題が残りました。

別窓で表示というのは
trace("メッセージ");
というコマンドを使って、
「出力」と書かれた別窓に表示させたかったんです。

もしかして、これが間違ってるのかと思い、

trace(messeage);

だけを書いてプレビューしてみたのですが
白い画面が表示されるだけで
別窓の「出力」画面が表示されませんでした。
trace("messeage");
trace('messeage');
でもだめでした。

パブリッシュ設定の
「traceアクションを省略可」
にはチェックを入れていません。

ブラウザの広告ブロックが働いてるのかと思い(ありえないと思いましたが念のため)
ノートンインターネットセキュリティーをオフにしてもだめでした。

何がおかしいのか、検討がつきません。
何か分かりましたら、宜しくお願いします。
hosidori
Åê¹ÆNo.6437
投稿日時: 2004-4-21 2:08
半人前
居住地:
投稿: 31
使用環境:
Flash CS3
FireFox3
WINDOWS Vista
traceに関しては解決しました
traceに関しては解決しました。
FLASH MX 2004では、パブリッシュ設定で、
デバッグを許可にチェックを入れないと駄目みたいです。
あと、プレビューモードのみで動作する様です。

これで最初に書いたスクリプトが動くか試してみます。
結果を後で報告します。
hosidori
Åê¹ÆNo.6461
投稿日時: 2004-4-21 20:07
半人前
居住地:
投稿: 31
使用環境:
Flash CS3
FireFox3
WINDOWS Vista
御陰様で、問題を解決できました
御陰様で、問題を解決できました。
ありがとうございます。
教えて頂いた通りにやると、正常に動きました。
$_REQUESTはどちらでも使えて、便利そうですね。
sendAndLoadの書く順番も覚えておきます。
とても助かりました。
今後とも宜しくお願いします。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

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