FLASHを使用した検索フォームの作成方法とFLASHとcgiの連携方法

このQ&Aのポイント
  • FLASHでテキストボックスと検索ボタンを作成し、検索フォームを実装する方法を解説します。
  • 検索フォームから入力されたテキストデータをcgiの検索ワードに直接渡す方法について説明します。
  • FLASHとcgiの連携において、GETリクエストとPOSTリクエストの違いについても解説します。
回答を見る
  • ベストアンサー

FLASHを使用した検索フォーム

FLASHでテキストボックスと検索ボタンを作成しました。 テキストボックスは変数が「subject」となっています。 ボタンのアクションスクリプトは on(press){ this.getURL("http://***.cgi","NAKA","POST"); } となっています。 ここで入れたテキストデータをcgiの検索ワードに直接持っていきたいのですが、どのようにすればいいのでしょうか? cgiの方は、検索ボックスの名前が「word」となっています。 POSTではなく、GETならうまくいくのでしょうか? イマイチFLASHとcgiの連携がわかりません。

  • CGI
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • shevy
  • ベストアンサー率44% (69/156)
回答No.1

私なら、getURLではなく、 mySendVars.sendAndLoad(CGIFile,myLoadVars,"POST"); みたいに使います。 ただし、sendAndLoadする前に、 myLoadVars = new SendVars と、 new LoadVars = new LoadVars として、オブジェクト定義をしておく必要があります。 SendVarsが送信オブジェクトで、 LoadVarsが受信オブジェクトになります。 基本的にflashとcgiの連携はこのSendAndLoadを利用します。 MXより以前は、loadVariablesを利用していましたが、今では使う気になりません。

KODAMAR
質問者

お礼

回答ありがとうございます。 ですが私の乏しい知識では理解できませんでした…。 再度質問をたてますので、もしよかったらまたよろしくお願いします。

関連するQ&A

  • Flashのメールフォームにcgiを設置 別ウインドウで・・・

    いつもお世話になります。 FlashMX使用のものです。 FlashできたメールフォームにKENT.WEBの「postmail」を設置しています。 設置する事はなんとかできたのですが、送信ボタンを押すとメール内容確認画面~送信完了のページが別ウインドウで開けるようにしたいのです。 現在のactionは on (press) { getURL("./postmail.cgi","_top","POST"); } となっています。 javascriptを使い別ウインドウを出すために上記を on (press) { getURL("javascript:window.open('./postmail.cgi','_top','POST');void(0)"); } に変更したのですが、ボタンを押すと「不明な処理」となってしまいます。 flashのみでできたhpなので「前画面に戻る」を押すとflashが最初まで戻ってしまい非常に面倒なので、どなたか解かる方いましたら宜しくお願いします。

    • ベストアンサー
    • Flash
  • サイト内検索cgiの修正について

    http://www.kent-web.com/cgi/wfinder.cgi を使用しています。 ですが、これのキーワードボックスを使うのではなく、FLASHで作成したテキストボックスとボタンを使用して 検索を行いたいのです。 <FORM ACTION="$script" METHOD="POST"> <INPUT TYPE=TEXT NAME=word STYLE="BORDER-STYLE:SOLID; BORDER-COLOR:GRAY; BORDER-WIDTH:1;" SIZE=40 VALUE="$in{'word'}"> <INPUT TYPE=SUBMIT STYLE="BORDER-STYLE:SOLID; BORDER-COLOR:GRAY; BACKGROUND-COLOR:SILVER; BORDER-WIDTH:1;" VALUE="検索"> <BR><BR> <B>表\示件数</B> <SELECT NAME="view"> として、テキストボックスに、FLASHのテキストボックスからデータを入れることはできましたが、この後、「検索」ボタンを押さなくてはなりません。 そうではなく、FLASHの検索ボタンをおしたら検索結果が出るようにしたいのです。 上記のcgiファイルをどのように変更すればいいのでしょうか?

    • ベストアンサー
    • CGI
  • テキスト入力でYahoo!の検索エンジンが作成できない。

    毎日コミュニケーションズのFlash入門書 『おしえて!!FLASH MX2004』の 9-5(P148,P149)にある テキスト入力で検索エンジンの 作成方法についての質問です。 テキスト入力でテキストボックスを作った後、 「テキスト入力」フィールドが選択された状態で、 プロパティインスペクタ右下の「変数:」欄に、 Googleの変数名「q」を入れた後 ボタンを作成して下記のスクリプトを書きました。 on (release) { this.getURL("http://www.google.co.jp/search", "_blank", "GET"); } 作成したものに適当なキーワードを入力して ボタンを押すとネットに接続し検索エンジンの 結果が表示されました。 (↑ここまでが本に書いてあったことです。) これの応用でYahoo!の変数名「p」を入れた後 ボタンを作成して下記のスクリプトを書きました。 on (release) { this.getURL("http://search.yahoo.co.jp/bin/search", "_blank", "GET"); } しかし、半角英数字の検索はできたものの (※gooや19などの検索は可能) 日本語の検索はなぜか文字化けして できませんでした。 (※教えて!gooと入力すると  『謨吶∴縺ヲ・“oo』のように文字化けする。) おそらく変数に問題があると思われるのですが 私には問題を解決することができませんでした。 どなたかご存知の方がいらっしゃいましたら よろしくお願いします。

    • ベストアンサー
    • Flash
  • POSTやGETの変数をフォーム無しで送りたい

    お知恵を拝借ください。 POSTやGETを使って変数を別のページに送りたいのですが、テキストボックスやラジオボタンを使わないで、HTML文章内に書いているテキストをPOSTやGETに格納して送り出したいのです。何か要方法をご存知のかたお教え下さい。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • FLASHとCGIでのデータの受け渡しについて

    http://oshiete1.goo.ne.jp/kotaeru.php3?q=602714 でも質問をしたのですが、 FLASHとCGIのデータ受け渡しについて質問です。 FLASH側でテキスト入力したものをCGIで受信して表示を、と思ってるのですが、 イマイチうまくいきません。 FLASHのcgi実行ボタンのアクションスクリプトは on(press){ this.getURL("http://***/test.cgi","NAKA","POST"); } test.cgiの中身は read(STDIN,$buffer,$ENV{'content_length'}); ($title,$value)=split(/=/,$buffer); $buffer =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; print "Content-type:text/html\n\n"; print "<FONT COLOR=RED>文字列</FONT><BR>\n"; print "$buffer<BR>\n"; なんてしてみましたが、「文字列」だけきちんと表示されて後は文字化けしてます。 (変換がうまくいってないのかな?) このデータの受け渡しはあってるのでしょうか?間違ってるのでしょうか? よろしくお願いします。

    • ベストアンサー
    • CGI
  • Flashでのメールフォーム

    LoadVarsを利用して変数名をCGIに送るFlashでのメールフォームを作成しています。 テキストエリアの値はプロパティで変数名を指定できるので送信できるのですが、チェックボックスの値を受け渡す方法がわかりません。 HTMLのFORMで書いた場合は <INPUT TYPE="CHECKBOX" NAME="check" value="希望する"> このようになるのですが、これと同様の情報をFlashのメールフォームで送信する場合にはどのようにすればよいのでしょうか? ・FlashでのチェックボックスはコンポーネントのCheck Boxで作成しています ・true,falseの判定を送信するだけでもかまいません 以上です。よろしくお願いします。

    • ベストアンサー
    • Flash
  • Flashで検索窓を作るには

    Flashで検索窓を作ろうとしています。 過去の質問で同様の内容があったのでそれを参考にしましたがうまくいきません。http://oshiete1.goo.ne.jp/qa2477755.html 作業は以下のようにしました。 1.Flash MXで新規ファイルを作成し、ステージ上にテキストツールでテキストエリアを作る 2.テキストエリアを選択してプロパティの「インスタンス名」にq_txtと入力 3.コンポーネントウィンドウからPushButtonをステージ上にドラッグ&ドロップ 4.3でつくったボタンを選択してプロパティの「インスタンス名」にsend_btnと入力 5.3でつくったボタンに以下のスクリプトを設定 on (release) { getURL("http://www.google.co.jp/search?hl=ja&q="+q_txt.text, "_blank"); } 6.パブリッシュして検索を実行 これで間違っていないと思うのですが、どうしても検索結果は http://www.google.co.jp/webhp?hl=ja となり、テキストエリアに入力した内容が反映されません。 過去の回答にある、別の方法も試しましたが、最後の方法 on (release) { var q = q_txt.text; getURL("http://www.google.co.jp/search?hl=ja", "_blank", "GET"); } を使うと、ボタンのサイズなど、関係ない長い値が付いて、その最後にテキストエリアに入力したものが出てくるため、検索には失敗し、結局 http://www.google.co.jp/webhp?hl=ja が表示されてしまいます。 どこが間違っているのでしょうか。 よろしくお願いします。

    • ベストアンサー
    • Flash
  • CGIにデータを渡すには?

    現在ある検索CGIに、Flash上でユーザーに入力してもらった文字を渡したいです。 現在、検索ページのURL欄は、http://hogehoge.com/kensaku.cgi?search=XXXXXとなっています。 このXXXXXの引数は、現状HTMLのフォームタグで渡していますが、これをFlashで渡すようにしたいです。 色々見て、色々やりましたがうまく出来ません。 まず、テキスト入力で、テキスト入力ボックスを配置し、その関数をsearchとしました。 次に、ボタンを配置し、そのアクションスクリプトに、 on(press){ getURL("http://hogehoge.com/kensaku.cgi","search","GET") } と入れました。 実際にswfを書き出し、テストすると、入力した文字+他のHTMLが吐き出されます。。 <p aligh=left>XXX</p> のような。。つまり、「XXX」ではなく、「<p aligh=left>XXX</p>」という文字列で検索されてしまいます。 これら不要なタグ(「<p aligh=left> </p>」の部分)は、テキストボックスのタグみたいです。 Flash上で文字の大きさやフォントを変えると、これらタグも変わります。 なぜこんなのが出てくるのか、どうやったらいいのか、行き詰まりました。 教えて下さい。

    • ベストアンサー
    • Flash
  • flashからCGIへデータ送信

    flashからCGIへデータ送信する際、 今のところgetURLを使っているのですが、 これだとCGIページが開いてしまうので困っています。 データさえ送信できれば、CGIページは開かなくていいので、 そのようにできるやり方はありますでしょうか>< http://1art.jp/flash/le/lesson46/lesson46.htm こちらを参考にさせていただいて変更してみたのですが、 getURLだと、Flash上で定義している変数が一括で送信されているに対して、 このやり方だとこのように  my_lv.name1 = name1_txt.text; として、my_lv.○○といちいち変数を定義し直さなければならないのかな? と認識しています。(もし間違ってたらすみません) このやり方に変更すると、今まで動いていたCGIが動かなくなってしまったので; なので、できれば変数が一括送信されるgetURLのような方法があればな、と思っています。 説明下手で申し訳ありませんが、ご助言頂けると嬉しいです。

    • ベストアンサー
    • Flash
  • getURLでcgiへ変数を渡す時、&が使えない

    質問させてください ボタンを押すとhttp://www.***.com/*.cgiにa=1&b=2という変数を渡したいんですが、 getURL("http://www.***.com/*.cgi?a=1&b=2","_blank"); ではうまくいきません。 ブラウザのアドレス欄を見ると、&以降のアドレスが消えてしまっています。 「&」はどう扱えばいいんでしょうか?? あとgetURL("http://www.***.com/*.cgi?a=1&b=2","_blank","GET"); とすると フラッシュ内で使っている他の変数も送信してしまいます(>< http://www.***.com/*.cgi?a=1&b=2&c=3&d=4 のように… ちなみに ブラウザでhttp://www.***.com/*.cgi?a=1&b=2と直接入力するとうまくいきます。 どなたかよろしくおねがいします!