「一気に最後まで読んだ」本、教えて下さい!

初めてC言語でCGIをやるわけではないのですが、わからないことがあるので質問させていただきます。

http://www2k.biglobe.ne.jp/~motoi/cdecgi.html
このサイトを参考に話を進めさせていただきます。

まず、htmlで
<HTML>
<HEAD>
<TITLE>テストページ</TITLE>
</HEAD>
<BODY BGCOLOR=#a0d0ff>
<FORM METHOD="get" ACTION="test2.cgi">
<INPUT TYPE="text" NAME="fieldname" SIZE="50"><BR>
<INPUT TYPE="text" NAME="fieldname2" SIZE="50"><BR>
<INPUT TYPE="text" NAME="fieldname3" SIZE="50"><BR>
<INPUT TYPE="submit" VALUE="書き込み">
</FORM>
</BODY>
</HTML>

と書き、C言語で

#include <stdio.h>
#include <stdlib.h>

#define getenv1(a) ((pdata=getenv(a)) ? pdata : "(NULL)")

main()
{
int len;
printf("Content-type: text/html\n\n");
printf("<HTML><HEAD></HEAD><BODY>\n");
printf("%s<BR>\n",getenv("QUERY_STRING"));
printf("</BODY></HTML>\n");
}

と書きます。
それからコンパイルを実行し、パーミッションも変更して実行を
WEBサーバを作らずに実行するとファイルのダウンロードが始まります。(ファイル名はtest2.cgi)
WEBサーバが無ければ文字をCGIに表示することは無理なのでしょうか?
教えてください。お願いします。

A 回答 (2件)

>WEBサーバを作らずに実行するとファイルのダウンロードが始まります。

(ファイル名はtest2.cgi)

実行というのはどうやって?
formページの"書き込み"ボタン押下でしょうか?
formページはブラウザからローカルのファイルを開いたでしょうか?

上記の通りであれば、test2.cgiがダウンロードされるのは通常の動作です。
Webサーバがなければ実行された結果は戻りません。
    • good
    • 0
この回答へのお礼

実行というのはおっしゃるとおり、formページの書き込みボタンを押したときのことをいいます。
Webサーバがなければ動作しないのですね。
よくわかりました。
ありがとうございます。

お礼日時:2006/09/29 10:43

CGI自体がWebサーバとその他のプログラムをつなぐインターフェースなのでWebサーバがなければ成り立ちませんね。

    • good
    • 0

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


おすすめ情報