- もどる -
MindでCGIへの道

■伝言板のMindソース

伝言板のMindソースを圧縮した stargb04.exe を、http://www.rigy.co.jp/ にて公開しました。

整理してないので、非常に汚いソースですが、CGIプログラミングの参考になれば幸いです。

以下、梱包したドキュメントをここに全文掲載しておきますので参考にしてください。
ダウンーロードはhttp://www.rigy.co.jp/からしてください。

---- stargb04.doc ----------------------------------

MindCGIソース説明書 stargb04.doc by START 1999-02-23


 ホームページで使っている伝言板「MindでCGI&GUIプログラミング」と
 ほとんど同じソースを、Mind CGIプログラミングの参考として公開します。


●伝言板CGIのMindソース

 このソースは、1年ほど前にリギーコーポレーションから販売された
 有料の「Mind Version 7 UNIX版」で作ったものです。

 ★現在出回っているフリーのUNIX版Mind用に書いたものではない
  ので、ご注意ください。(まだ試していない)(^_^;


●この伝言板の機能

 ・ファイルサイズを取得して50KB以上になったら自動的に伝言板を
  クリアし、その内容を「過去の発言」として別ページに保存する
  るようにしてあります。(1世代前まで残る)

 ・cookie機能を組み込み、一度書き込みを行うと、一カ月間、
  名前・メールアドレス・URLが書き込み者のブラウザに
  記憶されるようにしてあります。

 ・伝言板のスタイルや動作などは実際の伝言板で確かめてね。(^_^;
  → http://www.vtama.com/labo/


●梱包ファイル

 全ファイルとも文字コードはEUCです。

 addguest.doc・・・このファイル
 stargb04.src・・・入力メッセージをindex.htmに挿入するCGI、Mindソース
 addguest.src・・・入力用のCGI、Mindソース
 index.htm・・・・・伝言板のHTMLファイル
 index_old.htm・・・過去(一世代前)の伝言板HTMLファイル
 index_bak.htm・・・作業用HTMLファイル


●簡単な説明

・index.htmの「メッセージを書き込む」をクリックすると、
 「mind.cgi?addguest」により、addguestというMind-CGIプログ
 ラムが動きます。

・addguestは、書き込み用のHTMLを出力し、formでユーザーの
 書き込みを受け付けます。

 また、ユーザーのcookieを参照し、名前やメールアドレスなど
 に分解して、各フォームに代入する処理も行っています。

 〔送信する〕ボタンをクリックすると、
 「form method=POST action="mind.cgi?stargb04"」により、
 今度は stargb04 というMind-CGIプログラムが動きます。

・stargb04は、addguestからのフォームデータを受け取り、
 まず、cookie値を形成しユーザーのパソコンにクッキー設定を
 行います。
 そして、フォームの各データをHTMLファイルに出力します。

 index.htmのファイル内容を1行ごと index_bak.htmに出力
 していき、途中「<!--start-->」という文字列があったところ
 で、ユーザーが入力したデータを挿入し、残りの内容を続けて
 出力していきます。これで、書き込まれた発言が常に上部に入
 るわけです。

 ソースでは、
  -----------
  「index_bak.htm」を 出力ファイル名に 入れ
  出力ファイル名で 出力ファイルを 新規オープンし エラー検査し
  「index.htm」で 入力ファイルを オープンし エラー検査し
  全体書き込み作業し
  -----------
 という部分です。

 出力が終わったら、今度は index_bak.htm を、index.htm へ
 上書きコピーして書き込み処理を完了します。

  -----------
  「index_bak.htm」で 入力ファイルを オープンし エラー検査し
  「index.htm」で 出力ファイルを 新規オープンし エラー検査し
  入力ファイルを 出力ファイルに 入れ エラー検査し
  -----------

 ・・・その他、詳しい説明は面倒なので、(^_^;
 汚いソースですが、なんとか読み取ってね。(^_^;


●組み込み方

 まず、stargb04.src の次の場所を書き直し、
  -----------
  サーバ名は 文字列定数 "www.xxxxx.com"。
   ※ ↑ここにあなたのサーバー名を指定する ※
  -----------

 全ファイルを、Mindインストール済みのサーバーの
 適当なディレクトリに入れてから、
 そのディレクトリに入り、stargb04.src と addguest.src を
 コンパイルしてください。リンクはcgilibです。

 mind stargb04 cgilib -x
 mind addguest cgilib -x


●その他

 このソースは無断改編OKです、どしどし流用してください。

 ★このソースに関するご質問は、とてもサポートできないので、
  受けたくないです。(^_^;

 ★また、このソースが原因で、何かあっても当方は責任を
  もちませんので、あしからず。 m(_ _)m


 では、がんばってね〜。1999-02-23 START (⌒_⌒)/~~

 - もどる -