• 締切済み
  • すぐに回答を!

POSTでQueryを投げるには?

PHPで外部(別サーバ)のCGIにクエリーを投げることは出来ますか?

共感・応援の気持ちを伝えよう!

  • 回答数5
  • 閲覧数164
  • ありがとう数15

みんなの回答

  • 回答No.5
noname#25358
noname#25358

 ASPの場合、他のサーバーにクエリーを投げるときは、COMとMTSを経由します。こうすることでGETでの送信を回避します。  COMとは、ネットワーク関連のシステムで今メジャーなDLL仕様のことです。そしてMTSは、メッセージ・トランスファー・サービスというような感じの言葉の略称で、サーバー間で簡単にCOMを相互呼び出ししたりするプログラムのことです。  しかし、COMとかMTSとか、そういうのはCGIの知識のほかに、サーバー/クライアントシステムに関する詳しい知識も必要ですし、設備にけっこうお金がかかったりします。  もしそれだけの設備投資をしてでもやらなければならない、ということであれば可能です。それにたしか、COMはPHPでもできないことはないと思います。

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • FlashのPost受け取り

    FlashのPost受け渡し方法が分かりません。 ネットで検索するとFlash→CGI→Flashや、外部テキストの読み込み方法などはたくさんヒットするのですが、CGI→Flash、HTMLフォーム→Flashというような目的のものは見つかりませんでした。 POST渡しで外部ファイル名を渡し、その外部ファイルからテキストを読み込んで、ダイナミックテキストで表示するというものを作ろうと思っています。 この場合はどのアクションを使うと良いのでしょうか? LoadVars()? loadVariables()? sendAndLoad()? ネットで検索した情報から色々試してみてはいるのですが、全く分かりません。助けてください! 環境: Windows XP Flash MX PHP 4.2.4 よろしくお願いいたします。

    • ベストアンサー
    • Flash
  • mysql_queryが動かなくて困っています

    こんにちは、Web上のphpのページを見ながら学習している者です。 早速躓いてしまっていまして、どなたか添削していただければと思います。 下のようなスクリプトを組んだのですが、接続は成功するのですが 問い合わせのほうがうまくいかず、クエリの送信に失敗しました。になります mysql_query文の各パラメーターはphpMyAdminの画面からカットアンドペーストしたもので、タイプミスや大文字小文字のミスは無いはずなのですが… どうかよろしくお願いします >><?php >>   $url = "11111.jp"; >>   $user = "+++++"; >>   $pass = "*****"; >>   $db = "dbname"; >>   // データベースへ接続("サーバ名","ユーザ名","接続用パスワード") >>   $link = mysql_connect($url,$user,$pass)or die("MySQLへの接続に失敗しました。"); >>   $sdb = mysql_select_db($db)or die("データベースの選択に失敗しました。"); >>   // 問合せ処理 >>   $query = "select 名称 from tablename where ID=1"; >>   $result = mysql_query($query)or die("クエリの送信に失敗しました。<br />SQL:".$sql);

    • ベストアンサー
    • PHP
  • POSTとGETについて

    POSTとGETについて2点質問が御座います。 PHPは最近手を付け始めましたので、初心者です。 (1)PHPでPOSTとGET両方使うことは出来ますでしょう   か? 内容:PHPファイルからCGIに値を引きつきたいのですが、テキストエリアのフォーム(POST)とCGIのリンク先に"hogehoge.php?id=xxxx"とGETのxxxxとPOSTのテキストエリアに記載した内容を2つ引き継ぎたいのですが、GETの方の値がCGIで反映されていません。 POSTとGETの両方引きつぎたいときはどのようにすれば良いでしょうか? (2)また(1)とは、別の話ですが、GETだけで2つの情報を引き継ぐことは可能でしょうか? "hogehoge.php?id=xxxx,?id2=yyyy"のようなイメージでxxxxとyyyyの両方を渡したいと思ってます。 どうかご教授宜しくお願い致します。

    • ベストアンサー
    • PHP
  • 回答No.4
noname#25358
noname#25358

 残念ですが、裏技に関しては分からないです(^_^;  COMとかASPとかコールドフュージョンを使うとか、そういう方向でいくのでしたら別ですけど……。  お金がかかりますよ(^_^;  (←PHPについては素人だけどASPとかに付いてはプロ)

共感・感謝の気持ちを伝えよう!

質問者からの補足

リアクションが遅くなって失礼しました。 ASPでは可能なんですか? PHPでもできたらいいのに。。。 大き目のパラメータを送るときや ユーザに見えない形でパラメータを送るときなどは どうしてもPOSTメソッドで送りたいんですよね。。

  • 回答No.3
noname#25358
noname#25358

 補足見ました。  よっぽど変な裏技とか使えば可能なのかも知れませんが、それよりはGETを使った方がいいです。たかだかそれだけのために苦労するだけの価値があるとは思えないので(^_^;

共感・感謝の気持ちを伝えよう!

質問者からの補足

やっぱり不可能なんでしょうか? 可能か不可能かだけでも知りたいのですが...。 また“裏技”なるものがあるならそれについても情報をいただけると嬉しいです。 こうなってくると、可能性があるかぎり端から一つずつ潰してゆきたいタイプなんです。(性格暗い?)

  • 回答No.2

どのような状態で、何をしたいのかが不明なので推測で回答します。 単純に、他のサーバ上のCGIへパラメータを渡したいのであれば、 現在表示している<FORM ACTION="xxx.cgi" METHOD="XXX">で、 ACTIONの設定で「xxx.cgi」となっているところを 「http://xxx.demohost.net/cgi/bin/xxxx.cgi」とURLの形で 記述してあげれば良いと思います。 または、すでに、submit後のphpファイルの中なのであれば、 Header("Location: http://xxx.demohost.net/cgi-bin/xxxx.cgi?param1=x¶m2=y"); と記述すれば、良いと思います。 ただし、この場合は、Header(...);より前にecho等の出力をしてはいけなかったと思います。

共感・感謝の気持ちを伝えよう!

質問者からの補足

他サーバで運用中の集計システムに対しての新たなインターフェイスを設計しているのですが、既存のシステムがQueryをPOST経由で取得する仕組みになっているんです。 今回設計中のものはPHPを使って開発しているので、パラメータ引渡しのところで行き詰まってここでHELP!と言うわけです。 いったんフォーム生成してクライアント側に送りクライアント側からSUBMITさせるか、CGIを挟んでパラメータを飛ばすかしか無いんでしょうか? できればPHPだけでスマートに作りたいんですが...。

  • 回答No.1
noname#25358
noname#25358

 PHPは専門外なのですが、基本的にPOSTメソッドは同一サーバー内にあるCGIにしかクエリーを投げることはできないので、GETメソッドで投げるしかないと思います。

共感・感謝の気持ちを伝えよう!

質問者からの補足

クライアント側からFORMをSUBMITするように、サーバ側から第3のサーバに対してPOSTでQueryを投げることは不可能なんですか?

関連するQ&A

  • POST送信

    自社サイトのHTMLから外部のCGIにPOSTでユーザ名などの情報を送信をしなくてはなりません。 HTML内にhiddenで書き込みする事はセキュリティの面からNGとなっており、HTMLからformタグで自社サイト内のCGIを起動し、そのCGIから直接POST送信するように指定されてます。 直接POST送信させる方法が分かれば教えてもらえますでしょうか。 よろしくおねがいします。

    • ベストアンサー
    • CGI
  • phpからquery実行

    趣味でサーバー構築を楽しんでいます phpからqueryでデータを渡そうとしたところ詰まってしまい、どうにも分からないので質問します //MSSQLQuery// DECLARE @acct varchar(32); SET @acct = 'testname'; INSERT INTO test.dbo.tblInfoA (Number,ID,) SELECT Number,@acct FROM test.dbo.tblinfoB WHERE userId = @acct このクエリをphpフォームからDBに送りたく下記をphpに記述しました */php mssql_query("INSERT INTO test.dbo.tblInfoA (Number,ID) VALUES ('SELECT Number FROM test.dbo.tblinfoB WHERE userId = $login','$login');") エラーメッセージ message: Conversion failed when converting the varchar value 'SELECT Number FROM test.dbo.tblinfoB WHERE userId = name' to data type int. (severity 16) お分かりの方いましたらご返答よろしくお願いします。

  • 複数行のクエリを、まとめて実行するには?mysqli_multi_query()?

    PHPとMySQLの環境です。 複数行のクエリを、まとめて送って取得したいと考えています。 ですが、今試行錯誤しているのですが、うまく行かない状態で、クエリをきちんと実行できません。 処理の流れとしては、 [DBにアクセス]→[2つのクエリの実行]→[データ取得]→[DBをクローズ] でいいのではないかと思ってやっているのですが、 2つのクエリを実行するのはなにやら無理なような記述もウェブ上で拝見しました。 その場合、同じDBの同じテーブル内の異なるデータを取得したいだけなのに、 わざわざ、一度DBにコネクトして、切断、そしてまたコネクトして、切断ということを繰り返さないとダメなのでしょうか。。? そもそも同一PHPファイル内で二度も接続、切断はすべきではないですか? ちなみに、 一つ目のクエリでは、テーブル(table_a)のレコード数をカウントしてPHP側で取得するという流れの処理です。 $query = "SELECT count(*) FROM `table_a`"; もう一つのクエリは、テーブル(table_a)の最新のレコードの、idカラムのidを取得するだけのものです。 $query = "SELECT arrayset FROM `table_a` ORDER BY id DESC LIMIT 1"; この処理を一度のクエリで入れ込むことは可能でしょうか。 それぞれ単独では実行できます。 PHPでこのような関数 mysqli_multi_query() を見つけて色々調べているのですが、 いまだに使用方法がきちんとつかめない状況です。 これで複数のクエリを送ることは可能でしょうか。 アドバイス宜しくお願いします。

    • ベストアンサー
    • MySQL
  • Microsoft Query を勉強したいが…

    http://office.microsoft.com/ja-jp/excel-help/HA010099664.aspx#_Toc272236671 の記事中の[データ ソースに接続する]に、次の記述があります。 > 1.[データ]タブの[外部データの取り込み]で[その他のデータ >  ソース]をクリックし、[Microsoft クエリ]をクリックします ところが、私の Excel 2002 で[データ]→[外部データの取り込み]を実行しても、添付図左に示すように、[その他のデータソース]という項目が見当たりません。 コンパネの[プログラムの追加と削除]で確認しても、添付図右に示すように、Microsoft Query はインストール済みです。 ひょっとして、私は何か誤解してますか? どなたかアドバイスをください。

  • 構内メールを実現したい

    社内でのローカルサーバー(外部には発信していません)に構内WEBメール送受信の機能を持たせたいと考えております。 そういったCGIやPHPなどのスクリプトを配布しているサイトをご存じないでしょうか? 出来ればフリーソフトでと考えていますが、シェアウェアでもかまいません。どうか、ご紹介下さい。

  • $_POSTはバージョン3では動かない?

    PHPを学習し、1週間が経過します。 動作は、社のサーバー上で、phpのバージョンは3でした。 これは当面、バージョンアップすることはありません。 この環境でやっていると、$_POST['xx']で、フォームからの 値をとることが出来ません。 $変数名(フォームのname)は正常に動きます。 4.0以上(?)では、$変数名が使えなくなることは調べたのですが。 $_POSTはバージョン3では使用不可でしょうか?

    • ベストアンサー
    • PHP
  • PerlでPOSTを受け取るとタイムアウトになる

    PerlでPOSTを受け取るようになっているのですが あるサーバーでは正常に動作するのに、 あるサーバーではいつまでたっても画面が推移せず、結局タイムアウトになってしまいます 何故か、POSTをGETに変えると正常に動作するようになりますが、 そのCGIの使用目的上、GETの文字数制限が気になり、GETは使えません ちなみに、どちらのサーバーもWindowsで、 サーバーソフトウェアは、 動くほうは、ローカル環境で、ANHTTPDをを使っています。 動かないほうは、LAN上のサーバーで、04WEBServerです なぜこのようなことになってしまうのか 原因と解決策を教えていただけないでしょうか。 よろしくお願いします

  • WindowsServer2003 DNS設定

    DNSサーバーについて教えてください。 (1)クエリ転送がされない 会社内でActiveDirectory(以下、AD)サーバーを構築し、同サーバー上でDNSを稼動しています。AD名はtest.adです。社内には別にDNSサーバーがあり、私が構築したDNSサーバーで名前解決できない場合は、そちらのDNSサーバーを参照するよう、クエリ転送の設定をしました。しかしクエリは転送されません。なぜでしょうか? (2)外部ドメインの名前変換について また外部DNSへクエリ転送のしなかった場合、google.comなどの名前変換はできないと思うのですが、クライアントに私が構築したDNSサーバーのみセットした場合でも、できてしまいます。ipconfig/flushdnsをした後でもできます。なぜでしょうか?

  • CGIを設置したい!

    CGIをレンタルサーバにアップすると広告が出てきますよね。 これはどうしようもないのですが、まずポップアップ広告がうざい。 つぎに、外部のサイトからCGIを呼び出そうとすると禁止がかかってる。 特に外部アクセスの禁止がとても困る。(まぁサーバ側も困ってるんだろうけど) 外部アクセスが禁止じゃない、虫のいいサーバを知りませんか? あと、もちろん無料で。

    • 締切済み
    • CGI
  • フラッシュで記録をとる方法

    フラッシュで、CGIやPHPと連携して、外部ファイルに書き込むことができると思うのですが、その点を解説されているサイトが探してもなかったので質問します。 フラッシュで、CGIやPHPと連携して、外部ファイルに書き込むにはどうすればいいですか?(質問が漠然としててすみません) 解説サイトでもいいです。方法を教えてください。

    • ベストアンサー
    • Flash