- ダウンロード後に解凍を行うとファイルが展開されます。
herodb.cgi の 1行目 #!/usr/local/bin/perl
を、ご利用のサーバーに合わせて修正してください。
そして、展開されたファイルをサーバーに転送してください。
全体のディレクトリ・ファイル構成とパーミッション設定値の例を書いておきます。(太字がディレクトリです)
| ディレクトリ構成例 |
パーミッション |
備考 |
| herodb |
|
|
| | |
|
|
| |-- img |
[755] |
|
| | |-- edit.gif |
[644] |
その他画像あり |
| | |
|
|
| |-- sample |
[777] |
|
| | |-- bin |
[777] |
|
| | |-- bin_del |
[777] |
|
| | |-- csv |
[777] |
|
| | |-- lock |
[777] |
|
| | |-- config.pl |
[644] |
表示設定 |
| | |-- rec.dat |
[666] |
テーブルデータ |
| | |-- rec_del.dat |
[666] |
削除データ |
| | |-- table.def |
[644] |
テーブル定義 |
| | |
|
|
| |-- cgi-lib.pl |
[644] |
|
| |-- hero.pl |
[644] |
|
| |-- herodb.cgi |
[755] |
本体 |
| |-- jcode.pl |
[644] |
|
|
(パーミッション設定 : ○○○.dat=[666] ○○○.cgi=[755]
ディレクトリ=[777] その他=[644])
管理者用マスターパスワード($masterpass)を変更してからご利用ください。管理者用マスターパスワードは、全てのデータについて編集や削除をすることができます。しかし、管理者用パスワードがあるからと言って安心はしないでください。大事なデータが改竄されても作者は一切の責任を負いませんので、あらかじめご了承ください。すべて自己責任でお願いします。
また、 パス($datpath/$binpath/$BinURL)の設定を正しく行ってください。一部のプロバイダではCGIの設置ディレクトリが決められている場合もあるようです。これに関しては各プロバイダの説明をご覧下さい。CGI設置ディレクトリが決められている場合のパスの設定方法をこちらに説明しました。
$hero'lockkey の値を 1 にすると、サーバーによっては動かないようです(Windows系サーバーなど)。この場合は
2 で動かしてください。
cp(UNIXのファイルコピーコマンド)へのパスを正しく設定して頂くことで自動保存時にバイナリーの移動が可能ですが、cpが使えないプロバイダの場合は、次の
config.pl で自動削除後の保存を行わないようにしてください。
このファイルでは、テーブルごとの設定を行います。このファイルの中のコメントを見ながら必要な部分を書き換えてください。
書き換えが終了したらサーバーに転送してから確かめてみてください。
ランダム表示を設定する場合はデータ件数にご注意ください。データが増えればその分動作が遅くなりますので自動削除機能を併用してください。
table.def は登録項目を設定するファイルです。例えば書籍の情報を保存するテーブルが次の構造を持つものとします。(展開した
sample テーブルの例です。)
| 日本語名 |
英語名 |
入力 |
タイプ |
入力TEXT幅 |
全/半 |
表示文字数 |
選択項目 |
| 書籍 タイトル |
TITLE |
必須 |
TEXT |
50 |
全角 |
全表示 |
なし |
| 画像 |
UPFILE |
任意 |
IMG |
39 |
半角 |
全表示 |
なし |
| 著者 |
AUTHOR |
任意 |
TEXT |
50 |
全角 |
全表示 |
なし |
| 感想 |
REVIE |
任意 |
MEMO2(複数行TEXT) |
35 |
全角 |
50文字まで |
なし |
| 発売 |
SALES |
任意 |
CHK |
なし |
なし |
なし |
書店|コンビニ|プレゼント |
| 予備1 |
|
|
|
|
|
|
|
| 予備2 |
|
|
|
|
|
|
|
| 予備3・・・・ |
|
|
|
|
|
|
|
※「入力TEXT幅」はデータ登録時のフォームの入力サイズに関する設定であり、フィールドサイズを指定するものではありません。 |
テーブル内の1つ分の項目を設定するには次のように記述します(順番がむちゃくちゃですみません)。
|
項番<>全/半<>入力TEXT幅<>タイプ<>英語名<>日本語名<>入力必須
<>表示文字数<>選択項目
[改行]
|
従って、上記のsample テーブルの例では、 table.defを次のように記述します。
ITEM01<>active<>50<>TEXT<>TITLE<>書籍タイトル<>YES<>-1<>
ITEM02<>inactive<>39<>IMG<>UPFILE<>画像<>NO
<>-1<>
ITEM03<>active<>50<>TEXT<>AUTHOR<>著者<>NO<>-1<>
ITEM04<>active<>35<>MEMO2<>REVIEW<>感想<>NO<>50<>
ITEM05<>inactive<>1<>CHK<>SALES<>発売<>NO<>-1<>書店|コンビニ|プレゼント
ITEM06
ITEM07
ITEM08 |
(あ〜、目がチカチカする)
それでは、それぞれの書き方を説明します。(多分もう拡張しないと思いますが・・・)
なお、table.def を設定した結果、どうしてもうまく動かないという場合は Table.def
チェッカー を試してみてください。
| 1. |
項番(摘要タイプ:全て)
ITEM01 から順番に書いてください。特に名前付けに意味は持ちません。 |
| 2. |
全/半(摘要タイプ:TEXT/MEMO1/MEMO2)
active : 全角入力にしたい場合。
inactive : 半角入力にしたい場合。 |
| 3. |
入力TEXT幅(摘要タイプ:TEXT/IMG/
URL/MAIL/MEMO1/MEMO2)
入力時のフォームの幅(SIZE)です。 |
| 4. |
タイプ(摘要タイプ:全て)
(これはいろいろ試してみるのが一番です)
| TEXT |
1行文字列の場合 |
|
| IMG |
ファイルをアップロード |
|
| URL |
URL |
|
| MAIL |
メールアドレス |
|
| MEMO1 |
複数行文字列 |
一覧表示の際にリスト表示したい場合。 |
| MEMO2 |
複数行文字列 |
一覧表示の際にそのまま表示したい場合。 |
| YMD3 |
年月日 |
入力時に本日日付を自動挿入します。 |
| YMD4 |
年月日を自動保存 |
登録or更新日付を自動記録します。入力時は表示されません(HIDDEN属性)。 |
| LIST |
リスト表示 |
|
| CHK |
チェックボックス表示 |
|
| OPT |
ラジオボタン表示 |
|
その他のタイプはこちらをクリック
|
| 5. |
英語名(摘要タイプ:全て)
入力時のフォームの名前(NAME)になります。
※同テーブル内で同じ英語名は使わないでください。
|
| 6. |
日本語名(摘要タイプ:全て)
入力時に表示されます。 |
| 7. |
入力必須(摘要タイプ:TEXT/IMG/URL/MAIL/MEMO1/MEMO2/YMD1〜3/CHK)
YES
: 必ず入力しなければならない項目の場合。
NO : 入力しても、しなくても、どちらでも良い場合。 |
| 8. |
表示文字数(摘要タイプ:TEXT/MEMO2)
(Version 0.85で追加)
-1 : 省略せずに表示する。
0 : 表示しない。
0以上の数値 : 表示の際に、表示文字が指定した数値以上の桁の場合に省略表示する。 |
| 9. |
選択項目(摘要タイプ::LIST/CHK/OPT)
(Version 1.00で追加)
項目を | (縦棒)で区切って指定してください。(例)
東|西|南|北 ← 両サイドに | をつけては駄目。 |
テーブルに設定できる項目の最大数は指定していませんが、あまり多いと入力フォームが縦長に伸びて非常に使いづらくなります。項目数は多くても10個以内にとどめておいた方が良いでしょう。
予備の項目には、2〜9を指定してはいけません。予備は後で追加する可能性がある場合には項番だけ設定しておいてください。
以上の設定ができましたら、table.def をサーバーに転送して動作確認をしてください。table.def
の設定内容をいちいちチェックしていませんので、YESと書かなければならないのを、YE とだけ書いた場合は正常に動作しません。このように、異常な動きをしたら設定内容を確認してみてください(Table.def
チェッカー)。なお、できれば良いものに仕上げてゆきたいと思っていますので、掲示板に故障情報の書き込みをお願いします(具体例を含めて状況を書いてください)。