isindexタグで入力フォームが現れることは、4.1 で説明しましたが、実際にこれを使う方法を説明します。
isindexタグの入力フォームに入力したテキストは、get形式で自分自身のURIに送られます。つまり、isindex.htmlというファイルの中の入力フォームでtestと入力すると、isindex.html?testという形で自分自身が呼び出されます。
NCSAのWebサーバーに付属しているサンプルの1つ、finger(ユーザー情報を表示するCGIプログラム)は次のようになっています。このサンプルでは、shスクリプトを使っています。
1:#!/bin/sh 2: 3:FINGER=/usr/bin/finger 4: 5:echo Content-type: text/html 6:echo 7: 8:if [ -x $FINGER ]; then 9: if [ $# = 0 ]; then 10: cat << EOM 11:<TITLE>Finger Gateway</TITLE> 12:<H1>Finger Gateway</H1> 13: 14:<ISINDEX> 15: 16:This is a gateway to "finger". Type a user@host combination in your browser's 17:search dialog.<P> 18:EOM 19: else 20: echo \21: $FINGER "$*" 22: fi 23:else 24: echo Cannot find finger on this system. 25:fi9行目でURI中に引数があるか判定しています。一番最初に表示した時点などのように引数がないときには、14行目によって入力フォームが表示されます。入力フォームに入力すると、再び自分自身を呼び出し、引き渡されたURIの引数を使って、20行目以降の処理に移ります。21行目の$*が引数に置き換えられます。
Kenshi Muto
平成11年9月19日