ID登録せずに、無料で質問できる♪ 教えて!gooアプリ>>

いつもお世話になっております。
以下の工程を考えて、作っていますが、どうしても疑問点があるので、質問させていただきました。よろしくお願い申し上げます。


(1)WEB上で入力した値をFORMのPOSTでPPP.phpに送信。


(2)PPP.phpは、下記の様に、(1)の値を受けとって、データベース(mysql)に,照会する。

if(isset($_POST["ansyou"])and isset($_POST["useid"])){
$ansyou = $_POST['ansyou'];
$useid = $_POST['useid'];
}
else{
$ansyou="AAAAA";
$useid="BBBBB";
}→データベースに問い合わせ


(3)データベースに照会して、出てきた値を以下のように出力

print"&result1=".$name."&result2=".$age ・・・・



(4)PPP.phpには、下記のように、PPP.swf を出力させる
プログラムを最後に書いています。

print("
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=Shift_JIS'>
<title>ppp</title>
</head>
<body>
~PPP.swfを設置~



(5)FLASHには「myData = new LoadVars()・・・」で出力させる。


以上の工程で作成しているのですが、[(1)]の値が、ちゃんとPPP.phpに送信されても、[(2)]のAAAAAとBBBBBで照会した値が PPP.swfに反映されます。しかし、PPP.phpには、ちゃんと、送信された値で照会した情報が出力されています。なぜでしょうか?よろしくお願いします。

A 回答 (3件)

なんかボタン掛け間違えているような印象。



最後のPPP.swfからLoadVars()でPPP.phpに読みにいった場合は、POSTされたデータは関係無いでしょうから、AAAAA、BBBBBと表示されて当然です。

こういった場合はLoadVars()ではなくて、PPP.phpでswfの出力をするときにHTMLに書き込んだ形で値を渡してやれば簡単です。

~PPP.swfを設置~
<obcect ~>
<param name="movie" value="PPP.swf?result1=".$name."&amp;result2=".$age ・・・・">
</object>

どうしてもLoadVars()を使うというなら、セッションやクッキーを使えば可能かもしれませんが。。。
    • good
    • 0
この回答へのお礼

こんな方法があったんですね!!
すごく感動してます。
今までかなり遠回りしていました。
どうもありがとうございます。解決しちゃいました。
この方法を詳しく説明しているサイトを探したのですが、
なかなか見つかりません。
もし、ご存知でしたらよろしくお願いします。

お礼日時:2006/07/03 12:04

#2の方の方法で行かれるのでしたら,FlashVars を使うのが一般的かと思います。


PHP はよくわからないので、どのサイトが良いのかはわかりませんが、
この辺りで検索されてはいかがでしょうか。
http://www.google.com/search?hl=ja&q=FlashVars+P …
    • good
    • 0
この回答へのお礼

どうもありがとう御座います。お返事が遅くなり申し訳御座いません。
早速勉強してみようと思います。
ありがとう御座いました。

お礼日時:2006/07/11 01:39

このコードを見る限り、入力値が受け取れてない可能性が高いですね。



>しかし、PPP.phpには、ちゃんと、送信された値で照会した情報が出力されています。
この情報はどこで取得しているのですか?

この回答への補足

ご回答ありがとうございます。

PPP.phpには、(1)で送信した値で、データベースに照会した情報が&result1=照会結果1&result2=照会結果2・・・として、表示されます。

PPP.phpには、
if(isset($_POST["ansyou"])and isset($_POST["useid"])){
$ansyou = $_POST['ansyou'];
$useid = $_POST['useid'];
}
else{
$ansyou="AAAAA";
$useid="BBBBB";

}→データベースに問い合わせ
問い合わせ成功したら
データベースの”PPP”テーブルから
$ansyou及び$useidと値が一致するフィールドがあれば、・・・

$sql3 = "select * from PPP where useid = '$useid '";
$rs3 = mysql_db_query($db,$sql3);
$pppdata=mysql_fetch_array($rs3);
$name=$pppdata["name"];
$age=$pppdata["age"];
(値を抽出)
    |
    |
    |
    ↓
print"&result1=".$name."&result2=".$age ・・・・
(値を出力)
    |
    |
    |
    ↓
(出力された文字情報の下に、swfを表示させる。)
print("
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=Shift_JIS'>
<title>ppp</title>
</head>
<body>
<EMBED
src='PPP.swf'
loop=false
bgcolor=#FFFFFF
WIDTH=850
HEIGHT=1270
TYPE='application/x-shockwave-flash'
PLUGINSPAGE='http://www.macromedia.com/go/getflashplayer'>
</EMBED>
</tr>
</table>
</body>
</html>
と記述しています。

従って、PPP.phpが表示される内容は、
&result1=太郎&result2=35歳&result3=男・・・
という文字情報の下に、PPP.swfが表示されます。
このPPP.swfには、PPP.phpで表示されている
&result1=太郎&result2=35歳&result3=男・・・
ではなく、(2)にある
$ansyou="AAAAA";
$useid="BBBBB";
で照会された
&result1=次郎&result2=33歳&result3=男・・・
の結果が読み込まれてしまいます。
長文にも関らず分かりづらくてすみません。。。。
何卒よろしくお願いします。

補足日時:2006/07/03 11:18
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング