メールフォームCGIをバージョンアップしました。
http://lion.zero.ad.jp/hanameiro/olmail020.lzh(11/27 0:26追記・「logs」フォルダ入れ忘れてました、すみません。入れなおしましたので、26日中にダウンロードされた方は再ダウンロードするか、ご自分で「logs」フォルダをご用意ください。どうも不手際多くて申し訳ないです。)
管理画面サンプルはいままでと同じく、こちら。パスワードは7777。
http://lioncgi.zero.ad.jp/~zan09870/onelinemail/ol_manage_test.cgiいくつか変わったところはあるのですが、目玉は送信完了画面のランダム表示&順番表示でしょうか。
最大10個のアドレスを登録でき、その中から
・指定したページを完了画面にする
・ランダムで表示させる
・繰り返し送信すると上から順に表示していく
のどれにするかを選べます。
順番表示は、最期まで行くとあとは繰り返し同じページを表示します。クッキーで投稿回数を記録していて、同じウィンドウからメールを送るごとに回数がカウントされます。一度ウィンドウを閉じると、また1からカウントします。
ランダムは毎回サイコロを振る形ですので、同じページが何度も出ちゃったりもします。
あとは、メールのログの表示をちょっと変えてみました。これは見ていただくほうが早いでしょうが、ちょっとすっきりしたと思います。
んで、バージョンアップに伴い、以前のログの表示にちょっと不具合が出ます。
「ログ閲覧」で件名ごとにログの累計と最終送信日を表示しているのですが、古いバージョンではこれをsbj_log.datに記録していないため、正しい件数になりません。
気になるかたは、お手数ですがsbj_log.datを手書きで修正してください。
旧ファイル形式 → 件名(タブ)ログファイル(改行)
新ファイル形式 → 件名(タブ)ログファイル(タブ)最終送信日時(タブ)累計(改行)
最終送信日時は「1100863373」のような秒数表示なので、よくわからなければ空欄にしておけば、次回の送信時に自動的に書き込まれます。
アンケートに寄せられたご意見からすると、次は必須チェック&確認画面、でしょうか。
実は、汎用メールフォームはここがけっこう難関なんですよねー。確認やエラー表示を出すだけなら簡単ですが、不備があった場合に戻らせると、ブラウザによっては入力した内容が全部消えてしまうという……。もちろん、そうならないように画面を作ることはできるんですが、そうすると今度は件名ごとに確認・修正画面をいちいち作成してもらわないといけないのです。最初に設定したら、あとはフォームタグを貼り付けるだけでいいのがウリなのに、これでは手間がかかっていけません。
……まあ、どっちでも選べるようにするのが無難かなぁ。あまり重いスクリプトにはしたくないんですが。がんばってみます。