買い物かご 掲示板 メール DB 利用規定 FAQ サポートBBS


次(近道なんてない!)
前(人に聞く前の準備)
最初に知るべきこと
CGIことはじめ
CGI設置ノウハウ
Basic Top
Make CGI

Home



勉強すること --最初に知るべきこと--

■勉強すること

勉強と聞いた瞬間、どう感じましたか?

*勉強は大嫌いだ!
*勉強している時間はない!
*自分のやりたいことはショップをヒットさせることで、CGIを勉強することではない!

など、否定的に考えたでしょうか。

それとも、勉強したいのだけど・・・

*スクールに通っている時間がない・・・
*CGIなどのコースは受講料が高い上、すぐに役立つことを教えてくれない・・・
*周りに詳しい人がいない・・・

と考えたでしょうか。

「やりたいんだけどねぇ・・・^^;」って、なんだかんだいい訳を付けてやらない人が多い中で、あえてホームページを作成し、さらにCGIまで設置しようとしているあなたのことですから、ちょっとふんばれば以外と短時間でCGIの設置くらい出来るようになります。

では、何から勉強していったらよいのでしょうか?


■なぜ動くのか?

「どうして普通のHTMLで買い物かごが動かないの?」って、考えたことはありますか?

なぜ買い物かごがHTMLで動かないのか!
「HTMLは買い物かごを動かす機能を持っていないから」が答えです。

あたりまえやないけ!と突っ込まないように。だってその通りなんですから。
では、もっと具体的に・・・

■CGIとは

CGIはホームページ上での何かしらの自動処理を実現するための仕組みです。
正確には、ホームページに自動処理を施すために、Perlなどのプログラミング言語で書かれた、プログラムの一種です。

プログラムですから、

if ( $in{'data'} eq '12358') { 
   print "大当たりぃぃ!\n";
} else {
   print "残念でした。はずれです。\n";
}

みたいなのが書かれています。上の例は、こんなときに使われます。

好きな数字を書いてください。もし当たれば5000円をプレゼント!

(動きません。念の為・・・)

ユーザーが12358を入力したら「大当たりぃぃ!」と書かれたページを表示し、違ったら、「残念でした。はずれです。」と書かれたページを表示します。

もちろん、これだけでは動きませんが、HTMLは作られたページを表示するだけであるのに対し、CGIはユーザーのアクション(ここではテキストボックスに数字を入力し、試すボタンをクリックする)の結果によって、あらかじめ指定した複数のページ(正確には文字列)から一定のページを表示できるのです。

このほかにも、計算をさせたり、メールを送らせたりなど、さまざまな自動処理を行なうことができます。

■CGIが動く仕組み

では、どのようにしてユーザーが入力した数字をCGIに判断させるのでしょうか?

上のフォームのタグを見てみましょう。

<form method="POST" action="./kuji.cgi">
<input type="text" name="num">
<input type="submit" value="試す">
</form>

となっています。ご存知のフォームタグが使われていますね。

  1. フォームタグを使って、ユーザーが入力した数字をkuji.cgiへ送ります。
  2. データを受け取ったkuji.cgiはユーザーの入力した数字を読み取り、12358だったら「大当たりぃぃ!」と言う文字を、違ったら「残念でした。はずれです。」と言う文字を書きこみます。

このように、フォームを使うことで、ユーザーのアクションをCGIに渡すことができるのです。詳細は「フォームとCGI」で説明しています。

メール送信スクリプトや買い物かごなど、CGIスクリプト単独で動作しないものを設置するためには、フォームタグを理解する必要があることがわかったでしょう。

■データやフォルダ

掲示板を設置するとき、ほとんどの場合「data.dat」をパーミッション666に指定してアップロードします。等と指定されると思います。この「data.dat」は何に使われるのでしょうか?

「data.dat」は、掲示板の書き込みデータを保存するためのファイルです。
ふだん使っているパソコンでファイルを保存するのと同じです。

その他、空の「tmp」フォルダをパーミッションを777にしてアップロードしてください」等の指示もあるかもしれません。

これらのファイルやフォルダ(一般的にはディレクトリという)に、ユーザの書込みを記録したり、削除したりすることで掲示板として動作できるのです。

詳細は、「データ記録ファイル」で説明しています。

■必要なプログラム

CGIは単独で動作することもありますが、特定のモジュールと言われるスクリプトやプログラムを必要とすることがあります。

これらがないと、動かなかったりするんですよね。代表的なものに、

*jcode.pl
*cgi-lib.pl
*UUENCODE
*sendmail

等があります。「jcode.pl」と「cgi-lib.pl」はそのままアップロードすれば(パーミッション設定も原則不要)OKです。

UUENCODEは添付ファイルを送信する時に必要ですが、これはプロバイダ側が用意していないと使えません。telnetを使えるプロバイダの場合は、自分でプログラムをダウンロードしてインストールする事で使えるようになる場合もあります。

インストールといっても、Windowsのようにアイコンをダブルクリックして・・・というわけには行きませんので、かなりの知識が必要です。ここでは説明しません。

sendmailは、メールを送受信するためのプログラムです。一部のプロバイダでは、CGIでsendmailを使えないことがあります。

詳細は、「Sendmail」で説明しています。

これらの基本をしっかり覚えてください。そうすれば、人に頼る事なく、自由に設置することが出来る事でしょう。


Web寺子屋 OGIPOGI E-mail:info@web-terakoya.net
Copyright© 2000-2001 OGIPOGI All Rights Reserved.