平成22年03月度



平成22年03月例会

日時:  平成22年03月26日(金)  午後1:00~4:00
場所:  京葉銀行文化プラザ内ボランティア・カフェ会議室
参加者: Hrさん、Nhさん、Stさん、及びHsさんの4名
議題:  今後の勉強のテーマに就いての話し合いと恒例の勉強会

(1)打ち合わせと報告事項

 今後の勉強のテーマに就いてのアンケートを取った結果;
  
  ☆ 同好会のHPの「PC教室」に沿って勉強したら・・・
  ☆ 今まで勉強した基礎をもう一度復習したら・・・・

 という意見が出ましたので、これらのご意見を勘案して適宜テーマを選んで行きたいと思います。

 定例会の会場のボランティア・カフェの予約は3カ月前から出来ますので、本日は6月の第4金曜日(6月25日)
 の予約を取り、今後3ヵ月は会場は確保しました。。


    勉強中の真剣な雰囲気の写真

(2) 今月の勉強会 

テーマ: TwoFrameTargetの復習とフォーム設定とその関連CGI

(A)TwoFrameTargetの復習

   フレーム設定ページを作成し、4つのMenu頁の中にJavaScriptをコーディングして実行すると;

       
”Parent.frm_menu.location・・・・is not object nor null ・・・・”

   というようなエラー・メッセージが出て、何が問題なのか判らないとの質問がでました。


   
この質問に対する回答は次の通りです。

    ☆ InternetExplorer等のブラウザーによるコードの処理はHTMLタグの処理が主要な役割で、
       JavaScriptの処理は2義的な役割でそれ程きめ細かいものではありません。

    ☆ その一方、プログラムのコーディングのエラーは千差万別で、その原因を一概に表現するのは難しい。

    ☆ 従って、エラー・メッセージは一々の原因を的確に指摘出来ないのが現実です。

    ☆ 結果的に、エラー・メッセージはエラーの原因を突き止めるヒント位に考えると良いと思います。

    ☆ 上の例では、、ParentやLocationというのはSystemのObjectであるので間違いはないとして、
       自分でコーディングしたfrm_menuというObjectになんらか問題がないかと想像して、フォームの設定
       をチェックしてみることから始めるのがなすべきことなのです。
       その結果、フォーム設定結果を調べるために、フォーム設定ページのソース・コードをチェックして
       みると、例えば、メニューを入れるフレームの名前が”frm_menu”でなくて”frame_menu”になってい
       たとすると、それがエラーの原因であることが判るという具合です。

(B)フォームとは何か

  フォームは、ウェブ・サイトの閲覧者がウェブ・サーバーに情報を入力し送信する際に、それら入力情報を
  定型化 して、例えば氏名、住所、メール・アドレス等の項目名を各データに付けてサーバーに送るための
  手だてです。 その結果サーバーでは送りこまれたデータを一元的に処理できるのです。

(C)フォームの仕組み


   フォームはフォーム・フィールドの枠内に設置されるテキスト・ボックスやオプション・メニューなどの入力部品
  から構成され、それらの入力部品に設定された任意の名前によって入力された情報はサーバーのプログラム
  によって識別され、処理されます。
   


  上の質問フォームで:

   名前欄、電子メール・アドレス欄、電話番号欄は「1行テキスト」という入力部品です。
   性別欄の(男・女)ボタンは 「ラジオボタン」という入力部品です。
   連絡方法欄の(電子メールと電話)のボックスは「チェックボックス」という入力部品です。
   引越し動機欄の表は「リストボックス」という入力部品です。
   質問内容欄は「複数行テキスト」 という入力部品です。
   「送信」と「リセット」ボタンはCGIを起動させる部品です。

   これらの入力部品は全て一つの「フォーム・フィールド」という枠の中に収められていなければなりません。
   これらの「フォーム・フィールド」や各々の部品はすべてObjectで、それらに属性(Atribute)と動作(Method)
   を規定していくことによって、一つのフォームが出来あがって行きます。


(D)フォームの作成手順

  1.フォームの入力部品を入れる領域の「フォーム・フィールド」を挿入する。「挿入」メニュー → 
    「フォームと入力部品」 → 「フォーム」 → <フォーム・フィールドの挿入>

  2.「フォーム・フィールド」の中に「フォームの入力部品」を整然と配置する為の表(Table)を挿入する。
    上の「質問フォーム」の場合は(縦9X横2)の表を挿入する。

  3.<配置すべき入力部品の場所(セル)を指定する> → 「挿入」メニュー → 「フォームと入力部品」 
    → 「挿入すべき部品を指定」 → <求める部品を挿入する> →「部品の属性ダイアグラム」 → 
    <例えば:属性の名前=name、入力タイプ=テキスト、カラム数=20等と指定> →
    上の「質問フォーム」例のでは:名前欄:名前= name、カラム数=20 電子メール欄:名前=mail、
    カラム数=40、性別欄男:グループ名=sex、選択値=male、チェックボックス欄:名前=reason、値=OK、
    質問内容欄: 名前=question行数=10、カラム数=等指定します。

(E) CGIプログラムの準備と調整

  1.その中にフォームのCGIプログラムを入れる「form」フォルダを作成する。

  2.ホームページ・ビルダーのSmapleフォルダの中にある「anketo.cgi」と「jcode.pl」の2つのCGIプログラムの
    ファイルを上で作った「cgi-bin」フォルダの中の「form」フォルダにコピー・貼り付ける。

    この「anketo.cgi」というCGIプログラムはサイトの検索者がこの質問フォームに入力した情報をサイト管理者の
    メール・アドレスに各々の部品名を付して送信そる機能を持っています。
    CGIプログラムは無料でダウンロード出来るサイトからダウンロードして利用してもよい。

  3.プログラムの「anketo.cgi」を使用するサーバーの規定に従って修正する。

    例えば、1行目の「/usr/bin/perl」 (プログラムの場所)

    11行目の「/usr/lib/sendmail→ 「/usr/sbin/sendmail」(sendmailプログラムの場所)

  4.フォームの属性の変更:

   <フォーム・フィールドの1ポイントをクリック> → 
   <頁右上隅の属性選択ボタンで「フォームの属性」を選択>
   → 「属性のフォーム・タグ」 → <アクション=../cgi-bin/form/ anketo.cgi 、<メソッド> → 
   <属性の隠しフィールド・タグ> → <名前=to> & <値=サイト管理者のメール・アドレス> →
   「OK」ボタン → <編集中の頁を「HTMLソース」モードにして、フォームの部分のソースを確認する>

      例えば:

        action="../cgi-bin/form/anketo.cgi";      これは実行するCGIプログラムを指定している。

  5.「anketo.cgi」と「jcode.pl」の入っている「form」フォルダをFTPツールでサーバーにアップロードする。

  6.CGIプログラム「anketo.cgi」のアクセス権設定:

    FTP画面のサーバー側で「anketo.cgi」を右クリックすればアクセス権を設定出来る。
    このプログラムでは「anketo.cgi」には全てのユーザーに対して読み込み権と実行権を与えるよう指示され
    ている。

    サーバー上のアクセス権の設定は実際にはインターネット接続環境でないと正確には勉強できませんので、
    別途その機会があった折に勉強します。