トップページ⇒hp
4コメント2KB

BBSの投稿を削除!!

■ このスレッドは過去ログ倉庫に格納されています
0001S某NGNG
するときに、その削除すべき投稿を判定する方法って何がペスト
なのでしょう?
一般に公開されているスクリプトを見てみると、

(1) 記事が投稿された「日時・分・秒」で判断する。
(2) 全投稿記事内でのその記事の順番で判断する。

というのが多いようなのですが、これだと

(1)→同じ日付、秒数に投稿された記事が複数ある場合、関係ない
  ものも削除されてしまう。
(2)→削除後にリロードをかけると、フォームが再送信されて、その
  順番に位置している関係ない記事が削除されてしまう。

ということがおこりえますよね?
ちょうど今現在、上記二つのことが起こって問題になっているのです。
なにか、よい方法があったら、教えてください。
0002記事にユニークなNGNG
IDをつけておく。
0003S某NGNG
>2
ユニークIDをつけるスクリプトのサンプルとか、どっかないでしょうか?
自分でも考えてみたのですが、ちょっち不安なんですよね。

たとえば、投稿ごとに記事の全体数を数えて、連番をふっていく
・・・とか。
でも、書き込みが立て込んだ場合に、同じ番号が振られちゃった
りすることがありそうな気もするのですが。
別になにかいいIDふりの方法がありますか?
0004tokijiroNGNG
私は単純に time の返す値をIDにしていますが、perlfunc1
マニュアルによれば srand を使う方法があります。

『急激に変化する OS のステータス値プログラムの出力を圧縮して、
チェックサムをとる、というようなことが普通、行なわれます。』

>同じ日付、秒数に投稿された記事が複数ある場合

こういう場合同時に複数の open がある訳で、ログが破壊される
んじゃないですか?

ファイルロックしていれば同じ日付、秒数に投稿されるのを防げ
ると思いますが。

■ このスレッドは過去ログ倉庫に格納されています