9.サンプルで学習してみよう_その1

ここでは、簡単な機能のBBSを作りながら Perl CGI の動作を学習してみたいと思います。
センスの悪さはカンベンしてちょ!


1.サンプル仕様

BBSの基本項目として次のような画面構成とします。
お名前
ホームページ
E-Mail
記事
処理は1つのソース(sample_1.cgi)中で行われるものとし、簡単な入力チェックののち1つのデータ・ファイル(data_1.txt)にテキスト形式で書き込まれるものとします。
日本語変換ライブラリとして jcode.pl を使います。
処理ルーチンの構成は次のようになっています。
ルーチン名 機能
メインルーチン 基本的なデータの取得や処理の流れを決める
html_make HTMLドキュメントを生成する
data_put データ書き込みをおこなう
error_check エラー処理を行う。

2.各処理の解説

(1)メインルーチン
ソースをごらんください。コメントで解説しています。
(2)HTMLドキュメント生成ルーチン
ソースをごらんください。コメントで解説しています。
(3)データ書き込みルーチン
ソースをごらんください。コメントで解説しています。
(4)エラー処理ルーチン
ソースをごらんください。コメントで解説しています。

3.テスト

注.このスクリプトでは、データが無い時のデータファイル・チェックが無いので、予め空の 「data_1.dat」 (666) を作っておきましょう。
(1)まずは、スクリプトの記述ミスやサーバーへftp転送時のモード指定誤り、パーミッション指定の誤りが無いか確認します。
※Internal Server Error が無くなるまでテストしましょう。
ホームページ・スペースを借りている場合は、サーバーに負荷かけるし場合によってはサーバー・ダウンなんてことになりかねません。
それに、エラーの内容がPHPのように画面で確認できないのでできれば、自分のPC内で実験してからホームページのあるサーバーにアップロードすべきでしょう。
(2)次に正常入力をチェックしましょう。
このスクリプトでは、名前と記事が入力必須になっております。
したがって、「名前、URL、メールアドレス、記事」の全てが入力された場合、「名前、URLまたはメールアドレス、記事」が入力された場合、「名前と記事」が入力された場合が正常入力にあたります。
さらに、メールアドレスが入力された場合は名前にメールアドレスへのリンクがつきます。
URLが入力された場合はURLへのリンクがつきます。
名前か記事が未入力かその両方が未入力の場合はエラーを表示します。
(3)そして、登録されたデータが正しくリロードされることとデータファイルが期待どおりに書かれているかを確認します。
データファイルはエディタで開くまではよいのですが、書き込みしてアップロードはやめましょう。「改行」が入ってリロードおかしくなります。

ここクリックで実行できます。→ ソースは ここ クリックしてください。


戻る

サイトトップへ