![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
No.2ベストアンサー
- 回答日時:
素直に、処理1.cgiのなかで処理2.cgiを呼び出せば良いでしょう。
この二つのCGIプログラムは同じサーバにあるんですよね?
処理2.cgiの標準入力に、パラメータを追加した文字列を流し込んでやれば
いいと思います。ほかにいくつか環境変数をセットすれば動作するでしょう。
たとえばPerlなら、処理1.cgiはこんな感じになるのでは?
read(STDIN, $query_string, $ENV{CONTENT_LENGTH}); # POSTでパラメータを取得
$query_string .= '&a=123&b=xyz'; # パラメータを追加
$ENV{CONTENT_LENGTH} = length($query_string);
$ENV{REQUEST_METHOD} = 'POST';
open(OTHER_CGI, "|./shori2.cgi") or die "$!";
print OTHER_CGI $query_string;
close(OTHER_CGI);
ただ、普通はこういう風には設計しません。処理1、処理2で共通の部分を
まったく別の xxx.pl などという形でファイルにまとめておきます。
そして、shori1.cgi, shori2.cgiではパラメータをちょっと調整するだけの
機能を記述して、あとはxxx.plの中の関数にやってもらうようにします。
つまりこんな感じですね。
入力.html (postで変数を引継ぎ)
↓
処理1.cgi (html吐き出しあり)変数調整後xxx.plの関数呼び出し
↓
xxx.pl (実際の処理)
入力2.html (postで変数を引継ぎ)
↓
処理2.cgi (html吐き出しあり)変数調整後 xxx.plの関数呼び出し
↓
xxx.pl (実際の処理)
たとえば吐き出すhtmlの内容がほぼ同じ、とかそういうことならそのhtmlを
吐く部分を
sub print_output {
}
でまとめてxxx.plに書いておき、両方の.cgiから実行できるようにするとか。
こうすれば、処理1、処理2の違いはサブルーチンを呼び出すときの引数を
変えれば済むことになります。
なんでもかんでも *.cgi ファイルに書いておかなければならない決まりは
ありませんよ。
以前似たようなご質問に私が答えたものも参考として下記にあげておきます。
参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=73057
この回答へのお礼
お礼日時:2001/06/18 09:48
分かりやすいご説明のうえ、さらに応用まで教えていただけたので、次に作成したかったcgiの分も目処がたちました。ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- CGI htmlからcgiを自動的に起動させたい 1 2023/02/21 19:39
- CGI (フリーの)ツリー掲示版CGI、昔は多用させてもらいましたが・・今セキュリティ上どうでしょう? 2 2023/06/25 07:18
- LINE LINE機種変更 1 2023/02/26 16:51
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) 複数ブックの統合について Excel VBA 1 2022/05/13 09:48
- Visual Basic(VBA) VBA 参照先で選んだファイルをコピーし、出力先に別名で保存したい 8 2022/05/13 20:37
- CGI CGIが読み書きするデータファイルのパーミッションはさくらのインターネットでは何にするべき? 1 2023/05/02 16:44
- 事務・総務 仕事の引き継ぎについて教えてください 3 2022/06/21 10:42
- CGI CGIで出力するhtmlの<!DOCTYPE html>等のタグは要りますか? 2 2023/02/05 21:26
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
太鼓
-
エクセルで集計したい。
-
ホームページでCGIのフォームを...
-
フォームを再送信しますか?
-
apacheでPerl CGIが作動せず、5...
-
めちゃきれい
-
number 改行が追加できない
-
生成AI画像について
-
3DCG
-
ホームページにメールフォーム...
-
cgi アクセス制限 エラー
-
CGIの記述について教えてくださ...
-
CGIの設置が分かりません・・・
-
ホームページにCGIを設置したの...
-
ホームページにCGIを設置したの...
-
サーバーのエラーでおしえてく...
-
ホームページの事でおしえてく...
-
さくらサーバーにcgiフォームを...
-
一番簡単なCGI,掲示板の設置教...
-
(フリーの)ツリー掲示版CGI、...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ファイル間の変数引き継ぎ方法...
-
CGIをHTML(scriptタグ)上でうま...
-
Mac OSX LionでCGI/Ruby動かず
-
鹿児島県の坂元中学校のHPアド...
-
cgiで表示しているフォームをht...
-
CGIをフレームで表示するには…
-
C言語で作成したCGIにて「Inter...
-
ローカルパソコンで、CGI(SSI)...
-
EXCELファイルに誰がアクセスし...
-
《エクセルVBA》「他の人が該当...
-
URLに~/cgi-bin/~を隠す方法
-
CGIでソースがそのままでてしま...
-
FTPにて553エラー
-
ASPからJavaScriptへの受け渡し...
-
VBScriptで、ファイルから任意...
-
ラジオボタンのグループ化
-
特定のCGIだけ、作動するかわり...
-
ASPから既存のexcelブックを開...
-
VBAでサーバーにアクセスするに...
-
ApacheでのCGIについての質問
おすすめ情報