FUJI21・やさしく・CGI(& JavaScript)

共用プログラム・テスト

データ操作


  1. データ入出力操作の基準プログラムとして作成しました。
    この例は会員登録(受付番号順)ですが、個々のニーズ従い一部の変更により、ブログをはじめ多種多様の実用的なプログラムを簡明に作成できます。

  2. アクセス制限外部からの接続には「新規申込」を除き受付番号(ID)、パスワードによるアクセスチェックをおこなっています。
    アクセス制限文書の表示はCGIによる書き出しでURLアドレスは表示されません。
    (相互リンクを含む)
  3. 全文検索:任意のキーワード検索により、関心のある事項のみに限定して閲覧できます。(英数字の全角・半角や大小は区別しません。)。
  4. JavaScript:活用により、入出力画面の内容形式は、弾力的に、目的に応じて適宜、変更できます。また、入力チェックも行います。
  5. HTMLタグ:記述欄には、Web・メール・画像・ファイルのリンクを含む HTML 記入ができます。
  6. ファイルアップロード:画像(.jpg .gif)、文書(.txt .doc)、表(.xls)
  7. 受信確認:画面表示、メール通知(コピー:指定先、および、管理者)双方で行います。
  8. レコード削除:管理者により「個別指定」に加え「範囲指定」でも可能です。
  9. 繰越:現行ファイルのコードは「 current 」、繰越ファイルのコードは通常、「 年-月-日 」を原則とします。
  10. バックアップ:ファイルコードに通常「 年-月-日 」を付加します。

    多様・多種の機能を備えていますので、目的に従って、取捨選択してください。
ご自由にテストください。

公開用画面


  1. *** 会員登録の新規申込 ***

    1. 会員登録お申込みの後、直ちに「受付番号」を画面・メールで通知します。
    2. 正式登録には、その後、下の管理用画面にて「承認」の手続きを必要とします。
    3. 正式登録承認は、メールで通知されます。これにより、会員用(限定)画面の表示が可能になります。

  2. 会員登録(申込)の変更・取消(入力フォーム)
    受付番号(半角6桁)
    パスワード(半角6字)

管理用画面


  1. ファイル表示
    現行ファイルのみ、 現行・繰越ファイル
    キーワード: (任意の単語、全ての場合:ブランク)
    表示順序: 正順、 逆順

  2. 現行ファイルの変更・追加(承認・取消を含む)
    新規1件
    変更1件、受付番号(半角6桁):
    全て、追加レコード数: (繰越後の最初の入力(新規)も含む)



  3. 掲示項目の削除(受付番号範囲)
    受付番号(半角6桁): 
     〜 

         
    この例では、添付ファイルも同時に削除されます。

  4. 掲示項目の削除(受付番号リスト)
    受付番号(半角6桁):



         
    この例では、添付ファイルも同時に削除されます。
  5. 現行ファイルの繰越(現行ファイルは初期化されます。)
    年月コード:
  6. 繰越・ファイルの削除
    年月コード:

  7. 現行ファイルのバックアップ(現行ファイルはそのままです)
    年月コード:
  8. バックアップ・ファイルの削除
    年月コード:

  9. 全ファイル一覧(HTML)
    キーワード: 全ての場合:ブランク
    表示順序: 正順、 逆順

  10. 全ファイル一覧(TEXT)

  11. ファイル・フォーマット・チェック(TEXT)
    ファイルコード:

  12. 添付ファイル一覧

  13. バックアップファイル一覧


プログラムご希望の方は:

  1. このサーバでは
    パスファイル
    basiccgi/cg_00.cssCSS STYLE SHEET
    cntrl/cg_1010.html
    cg_10lock.txt
    初期ファイル
    cg-10a1data00.txt
    cg_10a1dsp00.html
    本ページ
    ロックファイル

    データファイル
    入出力画面(共用)
    cg_10a1data/cg-10a1current.txt
    cg-10a1(繰越).txt
    現行データファイル
    繰越ファイル
    cg_10a1backup/cg-10a1current_(バックアップ).txtバックアップファイル
    cg_10a1upfile/cg-10a1currentxxxxx.xxx
    cg-10a1(繰越)xxxxx.xxx
    cg-10a1current_(バックアップ)xxxxx.xxx
    cg-10a1(繰越)_(バックアップ)xxxxx.xxx
    アップロードファイル
    (バックアップファイル)
    cgi-bincg_1010.cgiファイル操作2
    cgi-bin共用プログラム
    cg_00io10.pl
    cg_00st10.pl
    cg_00fx10.pl
    cg_00dt10.pl
    jcode.pl

    入出力操作
    文字列操作
    ファイル操作
    データ操作
    日本語処理

  2. 「cg_1010.cgi」(「cg_00dt10.pl」)では、データファイル名は

    • ファイル名は:「$prjcode」+ 「$filecode」(+「_$backdate」)+「拡張子」
      「$prjcode」は半角7字、3字目は「 _ 」、
      データの場合、可変:「 - 」、固定(データ・キー):「 [ 」・「 ] 」
    • 「 $filecode 」群は下記のいずれか、または双方
      • 繰越による、「 current 」「 $newcode(例:年-月-日)」・・・・・
      • 分類による、・・・・・・・
    • 添付アップロードファイル名は:
      「$prjcode」+ 「$filecode」+「データコード」+「_原ファイル名」(+「_$backdate」)+「拡張子」

  3. 「cg_1010.cgi」(「cg_00dt10.pl」)では、データファイルの項目構成は

    1. 「データコード」(ID、番号順以外の場合は「主題コード」と同じ)
    2. 「主題コード」(「データコード」と同じの場合は予備)
    3. 「主題」 (外部者による取消の場合は「 取消 」を挿入する)
    4. 「主題ふりがな」
    5. 「E-Mail」
    6. 「パスワード」
    7. 「入力日」(外部者による確認前は、「 未確認 」を付加、確認により削除)
    8. 「管理者承認日」
    9. 「最近更新日」
    10. 「取消日」(不承認、停止、退会、辞退、など)

    • 最後から4番目は「添付ファイルの表示名」 (複数の場合:<SP1>で区切る)
    • 最後から3番目は「添付ファイルのURL」   (同上)
    • 最後から2番目は「管理記録」(管理者による変更の日付、入力者、理由など)
    • 最後はエンドマーク「END\n」

    • タイトル名に「***」を含む項目は、メール発信(特に、外部者向け)から除きます。

  4. 「cg_1010.cgi」(「cg_00dt10.pl」)では、画面表示のために

    • 原ファイル配列取得は(単複ディレクトリからの場合)、
      (&dirs_list($datadir/ @datadir => @f2_filelist => @f1_filelist)

    • 対象ファイル配列取得は (@f1_filelist (@filelist により) => @f2_filelist)
      単数ファイルの場合は($filecode => $datafile)
      $filecode@filelist
      レンジ(filecode)"range"[0](from)
      [1](till)
      リスト(filecode)"list"
      指定=>$keylist[0]
      指定
      全部
      単数ファイル指定

    • 対象レコード配列取得は

      <ファイル単数>(追加(新規含む)・表示・変更)
      ($datafile ($keyword 検索により) => @f2_rcrdlist)
      $rcrdkey$keyword
      新規(空白)1件"new"
      表示・変更 1件"key"指定(第0項目)
      全部
      (表示・変更+追加)
      "all"


      <ファイル配列(単数可)>(表示のみ)
      (@f2_filelist ($keyword/ @keylist 検索により) => @f2_rcrdlist)
      $rcrdkey$keyword@keylist$keycol
      全部"list"空白=>$keylist[0]
      リスト(全文検索)"list"指定=>$keylist[0]指定 *all
      リスト(指定項目)"list"指定=>$keylist[0]指定 *指定
      レンジ(指定項目)"range"[0](from)
      [1](till)
      指定
      *:$keyword と @keylist の双方指定は不可
        @keylist = $keyand(and 要素数、非指定の場合 1)x $keyor(or 要素数)

    • 入出力画面「 cg_10a1dsp00.html 」は (@f2rcrdlist =>)
      $dspno$note1
      外部者新規(空白)1件0
      外部者変更・修正1件1指定(変更、要修正)
      外部者確認1件2
      外部者表示3
      管理者新規+変更+追加4
      管理者承認5
      管理者表示6

  5. 「cg_1010.cgi」(「cg_00dt10.pl」)には、この例に含まれない下記の機能もあります。

    • レコード順序が番号順ではなく指定キーの順序とするファイル
    • ファイルコード(リスト・範囲)による対象ファイルの選別
    • 特定項目に対するキーワード検索、ソート
    • エクセルファイル対応のアップロード・ダウンロード

  6. その他、追加可能の機能
    • パスワードの自動作成、暗号記録
    • キーワードで選別した複数レコードの変更(取消)
    • アクセス限定ページへのリンク及び相互リンク
      (HTMLページの CGI による書き出しによりURL非表示)

  7. 入出力画面「 cg_10a1dsp00.html 」は個々の目的に従い、下記を含み弾力的にデザイン変更できます。
    ただし、全ての表示画面を通じ、デザインが統一され、各項目の順序(特に入力画面)はデータファイルの順序に準拠するのが原則です。

    • 画面構成の縮減・再構成
    • E-Mail、パスワードの確認のための重複入力
    • 添付画面ファイルの表示(位置指定、サムネール・クリックによる別画面表示)
    • 承認日(管理用のみ)・取消日の当日付け入力用ボタンを該当欄に追加

  8. 基礎の共用(〜6)プログラムの内容は、目次から各該当ページをご参照ください。
    原則として、橋渡しの変数名には通常「 _ 」を含み、内部変数はローカル「 local 」「 my 」設定をしています。

  9. CGI(.cgi/.pl)、CSS、JavaScriptファイルは内容表示のために、仮の拡張子「.txt]を使用しています。
    HTML ファイルのソースコードの参照は、画面右クリック「ソースの表示」で。
    FRAME ファイルのソースコードの参照はメニューバーの「表示」「ソース」で。

  10. 要確認・変更箇所は、HTML、CGI 両ファイル上に
    ====begin===================
    ====end=====================
    で明記してあります。

  11. あわせて、左側の目次から「SSI・CGI 基本」から「SSI・CGI概要」、「CGI プログラム要領」、「CGI 呼出方法」を参照ください。
    (特に、サーバにより各ファイル・URLのパス設定が異なります。)
14”N 02ŒŽ 27“ú‰ü’ù
ご批評・ご意見賜りたく(表紙へ)