cgi-lib を呼び出す

このページは日本語の文字化けを防ぐために shift_jis で書かれています。
form のデータを libcall から cgi-lib のサブルーチンを使って取得します。

名前: 会員番号: パスワード:
メッセージ:

プログラムの説明

  1. cgi-lib.cgi(.pl) には HTML でページを作成するための便利なサブルーチンが登録されています。
    これを使って HTML のページを作成します。
    cgi-lib.cgi の説明は cgi-lib.pl を使う 参照して下さい。
  2. form から名前と会員番号とメッセージをタイプして "libcall.cgi" を呼び出します。
    HTML ファイルは日本語の文字化けを防ぐために shift_jis で作成して下さい。
    <form action="libcall.cgi" method="post">
      名前:<input type=text name="name">
      会員番号:<input type=number name="number">
      パスワード:<input type="password" name="pass" size=20>
      <br>メッセージ:<br>
      <textarea rows=8 cols=40 name="message">
      メッセージをお願いします
      </textarea><br>
      <input type=submit value="記入したら押してください">
    </form>
    
  3. cgi-lib.cgi を使って HTML のページを表示する libcall.cgi です。
    日本語の文字化けを防ぐために shift_jis で書いて下さい。
    #!/usr/local/bin/perl
    
    require "cgi-lib.cgi";
    &ReadParse(%in);
    print &PrintHeader;
    print &HtmlTop("Home Page");
    print "<h2>$in{'name'}</h2>";
    print "<h2>$in{'number'}</h2>";
    print "$in{'message'}<br>";
    print &HtmlBot;
    exit;
    
  4. 日本語に対応するには URL Decode などが必要ですが、cgi-lib.cgi を使うと全て面倒をみてくれます。
    URL Decode はされても文字コード(utf-8, shift_jis)の違いにより日本語が文字化けする場合があります。
    詳細は URL Decode を参照して下さい。
    & で始まるのは cgi-lib.cgi に登録されているサブルーチン(関数)です。
    require で cgi-lib.cgi を組み込んで &ReadParse で Form から送られたパラメータを取得します。
    require 'cgi-lib.cgi';     
    &ReadParse(%in);
    
  5. HTML のヘッダーを吐き出します。
    print &PrintHeader;
    print &HtmlTop("Home Page"); 
    
  6. 連想配列($in)から名前と会員番号とメッセージを取得します。
    print "<h2>$in{'name'}</h2>";
    print "<h2>$in{'number'}</h2>";
    print "$in{'message'}<br>";
    
  7. HTML のフッターを吐き出してホームページの完成です。
    print &HtmlBot;
    
  8. libcall.cgi と cgi-lib.cgi をサーバーにアップロードします。
    .cgi はサーバーによって実行されるプログラムなので、実行権を設定して下さい。

前田稔の超初心者のプログラム入門
超初心者のプログラム入門(Perl)