1.簡単CGI入門・・・・・・もっと詳しく知りたい方は検索エンジンで「CGIとは」と入力してみてください。膨大なサイトがヒットします。


@CGIって?

CGI (Common Gateway Interface)とは、クライアントPCと呼ばれるもののブラウザからフォームなどの入力をサーバーに送り、サーバーのプログラムを実行させるインタフェースのことです。
つまり、面倒で複雑な処理をパソコンでなくサーバーにさせることです。
普通のホームページであれば、サーバーにあるHTML文書をそのままパソコンに取り込んで表示させますが、CGIだとサーバーにあるCGIプログラムが実行され、結果をHTML文書として返してくるのです。
CGIはC言語などでも作成できますが、この場合コンパイルという作業が必要です。
なので、このお勉強ではコンパイルの要らないPerlで進めます。

ACGIでできることの例

種類 できること
アクセスカウンタ ページ訪問者の回数を数えます。
Web検索 他のホームページを検索条件などを指定して検索します。
アクセス制限 パスワードによる制限により、メンバー以外の訪問者を拒否したりします。
チャット 同時にアクセスしている訪問者同士で、会話したりします。
BBS 訪問者が自由に読んだり、投稿したりできる掲示板を設置できます。
ブラウザの確認 訪問者のブラウザ情報を表示したりします。
インタラクティブなページ 色々な呼び出し条件(時刻など)に応じて変化するページを作成します。
などなど・・・・他にもさまざまな機能を提供できます。

Aスクリプトのこと

Perlで作成したスクリプトを実行させるには、実行コマンドであるPerlがどこにあるかを指定しなければなりません。
そのため、スクリプトの1行目には必ずPerlへのパスを書かないといけません。
【例】
これは、サーバーのOSなどによって違っているようです。必ずしも上記と同じとは限りません。
プロバイダによっては、サーバーに負荷となるCGIを許可していない場合もありますので、あわせて確認した方がよいでしょう。
WindowsでもActivePerlを使えばPerlで書かれたスクリプトが動きます。この場合、上記のような位置にPerlはありません。
でも、動きます。Perlへのパス記述が無いと・・・・・動くのかな?今度やってみよう!

Bファイル拡張子のこと

ポームページを利用しているサーバーで、CGIスクリプトの拡張子である「 .cgi, .pl, .plx 」などが設定されている場合は、拡張子「 .cgi 」を持つファイルが実行できますが、ディフォルトで設定されていないサーバーでは、個々に拡張子を設定する必要があります。
([たぶん]通常は、ユーザーのホーム・ディレクトリとなる public_html のどこかに設定されていると思います。)
多くのプロバイダがユーザのホームページ・スペース提供として使っている Apache の場合・・・・・
上記のような内容をテキスト・エディタで作成し「 .htaccess 」というファイル名で保存します。(改行コードは「LF」で!)
「拡張子が .cgi のファイルはCGIスクリプトだよーん」という意味です。

このファイルをFTPクライアントソフトで、ホームページ・スペースに転送しましょう。転送モードはアスキー(TEXT)・モードです。
これで、ホーム・ディレクトリ以下はCGIが実行可能になります。(・・・・・の筈ですが、ならない時はプロバイダなどに問い合わせましょう!)
※ディフォルトでCGIが実行可能に設定されている場合の「 .htaccess 」は次のような感じかな!
サーバーOSがWindowsの場合は、動いているWebサーバー(Ex. IIS, ANHTTPD, 04Web etc)により実行の設定が違うのであらかじめ調べておきましょう。
自宅サーバーなどの管理者の場合もね!!!

CCGIの呼び出し例

CGIを呼び出すには、直接URLで呼び出すか、フォームでACTIONコマンドなどを使います。
・直接URLから呼び出す例
<A HREF="http://takaq1.plala.jp/sample.cgi">ここ押して</A>
ここ押して ・・・・・・・ 普通のリンクですね ※sample.cgi は存在しないのでクリックはしないでね!
・フォームから呼び出す例
<FORM METHOD=GET ACTION="sample.cgi">
<INPUT TYPE="text" "NAME="input_data">
<INPUT TYPE="submit" VALUE="送信">
<FORM>
・・・・・・・ ※sample.cgi は存在しないのでクリックはしないでね!
とりあえず、簡単入門でした。

戻る

サイトトップへ