68user's page 掲示板

Prev< No. 745〜748> Next  [最新発言に戻る] [過去ログ一覧]
No. 745 # らんらん 2000/02/23 (水) 09:52
スミマセンでした...
hoge.exeは日付等を受け取りlogを集計して返すプログラムです

まず送信フォームのhtmlはこんな感じです

&lt form method=post action="cgi-bin/hoge.exe" &gt
&lt select name="data1" size="1" &gt
&lt option selected value="aa"&gt aa &lt /option &gt
&lt option value="bb" &gt bb&lt /option &gt
&lt /select &gt
&lt INPUT TYPE="SUBMIT" VALUE="送信" &gt
&lt /form &gt

これを

&lt A HREF=hoge.exe?data1=cc&data2=dd &gt hoge &lt /a &gt

のようにリンクから呼んで決まった処理をさせたいんですけどうまくいきません

お手数ですが情報お持ちでしょうか

No. 746 # らんらん 2000/02/23 (水) 09:55
またスミマセン....
<>の書き方を間違えてしまいました

No. 747 # 68user [URL] [E-mail] 2000/02/23 (水) 10:23
FORM は POST で送っているわけですね? で、
> <A HREF=hoge.exe?data1=cc&data2=dd> hoge </a>
だと GET になるわけです。hoge.exe は POST でデータを
受けているので、標準入力を読んでいるはずですよね。
もしGET にも対応したいなら環境変数 QUERY_STRING を
見るようにしないといけません。

C なら getenv("QUERY_STRING") でもいいし、
    main(int argc,char *argv,char *envp)
として envp を見てもよいでしょう。

No. 748 # らんらん 2000/02/23 (水) 12:54
ありがとうございます

if(0 == strcmp("POST",getenv("REQUEST_METHOD"))) { /* POSTの場合 */
                if(fgets(buf, len+1, stdin) == NULL) {
                                return 1;
                }
} else { /* GETの場合 */
                strncpy(buf, getenv("QUERY_STRING"), sizeo(buf)-1);
}

こんな感じでうまくいきました
POST と GET ぜんぜん意識してませんでした(よく調べます)

ほんとにありがとうございます。

Prev< No. 745〜748> Next  [最新発言に戻る] [過去ログ一覧]