東京大学 | 大学院医学系研究科 | 国際保健学専攻 | 人類生態学教室TOP | 2nd

HTMLとCGIでデータ入力

トップ | 更新情報 | 研究と教育 | 業績 | 計算機 | 写真 | 枕草子 | 著者 | 目安箱 | 書評 | 社会調査

最終更新: 2001年8月8日 水曜日 12時55分

このページは,ソロモン諸島での尿検査データを入力するために開発したHTMLフォームとデータ登録用CGIを公開し,Win32環境スタンドアロンでの使い方を説明することを目的としている。フォームとCGIの改変は容易なので,自分のデータ入力用にカスタマイズして使っていただければ幸いである。

なお,このフォームでは選択フィールドを使い,selectタグのoptionの中でselectedをつけたものをデフォルトの選択肢にするという機能によって,入力の手間を軽減している。尿検査のように大半が正常値である場合,正常値をselectedにしておけば,それらのフィールドは一々いじる必要がない。複数選択回答の場合はチェックボックスにすればいいし,レイティングのような場合はラジオボタンの方が入力しやすいかもしれないので,いろいろ工夫してみては如何だろうか。


実行環境の準備

既にHTMLとCGIが使えるサーバ環境があって,そこでデータ入力したい場合は,この説明を読む必要はない。下のダウンロードと書かれたところからdentry.tgzをダウンロードして展開し,普通のHTMLとCGIとしてサーバにアップロードして使えばよい。しかし,常にサーバに接続できる環境があるとは限らないし,データ入力には時間がかかるので,スタンドアロンで作業したいというニーズは確実に存在すると思う。そこで,Windows2000環境(おそらくはWindows98以上なら不可能ではないと思うが2000を推奨)で,サーバに接続せず,スタンドアロンでデータ入力をしたい場合の説明をする。

まずダウンロードしてインストールする必要があるのは,Apache for Win32ActivePerlである。なお,決して推奨しないが,Windows98にインストールするときは,前もってDCOM for Windows98と,Microsoft Windows Installer 1.1以上と,Internet Explorer 5以上をインストールしておく必要がある。

Apache for Win32のインストールは,説明通りに行えば簡単である(というか,ダウンロードできるファイルがmsi形式なので,実行するだけ)。サービスとして動作させるか,コンソールアプリとして動作させるかを選ぶことができるが,スタンドアロンのマシンでサービスにしても無意味なので,コンソールアプリとして動作させることをお薦めする。この場合,Apacheを起動したいときにだけ,スタートメニューのプログラムからApache httpd ServerのStart Apache in Consoleを動かせばいいので,リソースの無駄がない。この状態では,ブラウザからサーバルートを参照するためのURLは,http://127.0.0.1/となる。

ActivePerlもmsi形式のものをダウンロードして実行すれば,インストール先ディレクトリを問うダイアログなどに答えていくだけで,インストールは完了する。デフォルト設定であるC:¥Perlにインストールした場合,システム環境変数のPathにC:¥Perl¥binが追加される。


HTMLとCGIのダウンロードと展開

まず,dentry.tgz(tar+gzip圧縮,1800 bytes)をここからダウンロードしてほしい。

これを,自分が作業をしたいディレクトリに展開する。展開には+Lhacaを使うと簡単である。


設定と実行

以下,作業ディレクトリをC:¥Work¥SOLOMON2として説明しよう。自分の環境に適宜置き換えて読んで欲しい。

まず,C:¥Work¥SOLOMON2¥data_entry.htmlがhttp://127.0.0.1/data_entry.htmlとしてブラウザから見えるようにしたいので,"C:¥Program Files¥Apache Group¥Apache¥conf¥httpd.conf"を編集する。具体的には,DocumentRootを"C:/Work/SOLOMON2/"とする。次に,C:¥Work¥SOLOMON2¥data_entry.cgiをCGIとして実行可能にするため,<Directory />〜</Directory>の中のOptionsの行にExecCGIを加えてしまうか,<Directory "C:/Program Files/Apache Group/Apache/htdocs">を<Directory "C:/Work/SOLOMON2">に書き換えて,その下のOptionsの行にExecCGIを加え,さらに,#AddHandler cgi-script .cgiとある行の#を消す。これで最低限の設定は完了である。

なお,cgiファイルの先頭行に,Perlのパスを設定しておくことが大事である。FreeBSDやLinuxだったら,先頭行は,#!/usr/bin/perlなどとなっているものだが,Win32環境でActivePerlを使うため,その実行ディレクトリを書く。上述のようにActivePerlをデフォルトの設定でインストールした環境では,#!c:/Perl/bin/perlとなる。

後はApacheを起動してから,ブラウザでhttp://127.0.0.1/data_entry.htmlを読み出し,フォームにデータを入力してから,「データ登録」というボタンを押せば,作業ディレクトリにurine.datというタブ区切りテキストファイルができて,データが順次追記されていく(常に追記なので,失敗しても元のデータが消えることはない)。CGIに編集機能はついていないが,このデータファイルはテキスト形式なので,普通のテキストエディタでいつでも編集できる。是非自分で試してみて欲しい。

この文書がデータ入力の役に立てば幸いである。