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

1.サンプル仕様
BBSの基本項目として次のような画面構成とします。
処理は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)そして、登録されたデータが正しくリロードされることとデータファイルが期待どおりに書かれているかを確認します。
データファイルはエディタで開くまではよいのですが、書き込みしてアップロードはやめましょう。「改行」が入ってリロードおかしくなります。
ここクリックで実行できます。→ ソースは ここ クリックしてください。
【戻る】
