HTML活用講座第8回、HTML活用講座(8)です。
HTML活用講座は、HTMLとCSSの連携講座です。
基礎講座で築いた知識に加えて、知識の幅を広げていきましょう。
今回、CSSの編集にはTeraPadを使用します。まだインストールがお済みでない場合、
タブ設定が出来る他のエディターでも使用可能です。
教材をご希望の方は、圧縮ファイルを用意しました。
教材DownLoad ここに、教材を置いてありますから、ダウンロードして下さい。
HTML活用講座.第8回
今回は、SHTMLページと、CGIページを行ったりきたり、そんな講座です。
サンプル表示 ソースを表示して見てください。
以下に、原文を表示してありますが、変わっている部分があります。
SSIを使用すると、CGIの結果が、HTMLページに表示されるため、原文を見せることなく処理できるわけです。
SSIは、サーバ側でプログラムを実行して結果をHTMLページに表示してくれる機能です。
原文の、10行目が、ソース表示では消えてしまってますね、ユーザーに知らせずに、処理が出来てしまい便利ですが、
危険な機能でもありますね。
実際には、サーバ側で危険と判断するCGIは実行してくれないようなんですが・・・
12行目のリンク型のCGIは、名前が見えてますね、フォームを実行すると、飛ぶCGIを表示してますから、
ハッカーでなくてもアクセスが可能です。
そこで、CGIには、パーミッションの設定が必要になる、つまり、管理者以外の書き換えを禁止するわけですね。
ファイル名「kouza8.shtml」
12行目から、17行目までがフォームの部分、部品はこれ以外にも色々ありますが、
使い方は似たようなもの、CGI側に送る為のボタンは全て「submit」tape&name共に「submit」です。
CGI側で、中身を判断します、「value」に中身を設定すればOKです。
今回は2つのCGIプログラムの連携で動作してますが、「count.cgi」の方から紹介します。
と言っても、HTML講座なので、HTMLとの連携部分を中心に部分的な紹介になりますが
、ファイル名「count.cgi」
もうひとつのCGI「user.cgi」により、ユーザー名ーを登録していただき、
ユーザー記録ファイルから「ホスト名」で検索して、結果を返す部分です。
パスワードによるログイン機能の小型版、拡張が簡単に出来ます。
ホスト名は、ページを開いた方のグローバルIDから、変換出来て、IDと1対1で対応、
さらに、ブロバイダに契約中は変わる事がありませんので、記録には最適なんです。
記録のホスト名で検索して名前を見つけます。
画面に表示する部分
80行目で、HTMLに出力すると宣言、日本語(eucコード)
91行目、数値を十進6桁にしています。
93行目、テーブルタブをそのまま準備、
94行目が、先ほどの「名前」を挿入する部分。
96行目、出力先が日本語(sjisコード)なら、この行を有効化します。
98行目、ここで、HTML出力して終了ですね。
こちらは、
サンプル表示で、送信ボタンを押して見てください、こんな表示になります。
HTMLを含めて全て同じCSSを適用してますので、見た目も同じように出来ます。
ファイル名「user.cgi」、こちらが、もうひとつのCGIです。
41行目は、HTML文書に送信するための宣言文、この場合は新HTML文書が出来ます。
43行目は、HTMLのヘッダー部分の出力、「meta」「link」「html」「head」が作成されます。
46行目からは、普通のHTMLで表現する方法、見慣れた表現でしょう。
55行目、先ほど「submit」で送信した「value」を受け取り、処理を分岐する部分、サブルーチンを呼び出しています。
62行目、処理終了です。
上の画面の大半、一番上のタイトル以外を表示する部分、ほとんど、HTMLの文章と同じですね、
ただ、この書き方だと、タブや空白も出力されてしまうため、タブ、スペースによる字下げは行えませんが・・・
HTML文書とほとんど同じであると判りますね。
画面のソースを表示して見ると、XMLになってると思います。
そこで、書き方もXML流に変えてますが、HTMLでも使用できます。
CGIと言えども、大半はHTMLの知識が必要な部分が占めています。
HTML&CGI(Perl)と言っても過言ではないでしょう。
HTML&CSSに慣れてきたら、CGI&PerlそしてSSIにも挑戦してみてください。
これで、HTML活用講座、第8回、最終回、終了です。
|