• ベストアンサー

更新頻度のスクリプト

PHP初心者です。 こんなスクリプトがほしいので 参考になるページとかあったら教えて下さい。 submitが押される回数をカウントして 月に20回までしか押せないプログラムです。 また1日1回とかでもいいです。 submitが押される回数は $POST["count"]の値に1を入れて、 $count += $POST["count"]; 数えていくことができましたが、 月に29日の日もあれば、31日の日もある 月に○○回という、細かい部分まで作れませんでした。 どなたかおわかりになるから教えて下さい。 宜しくお願い致します

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

ポストでいくら送っても、次回のアクセスの際には データは残っていません。 ポイントはデータの保存でしょうね 一つはクライアント側でクッキーに保存する・・・ しかし別のマシンからやると消えてしまいます。 であれば、サーバー側にセーブデータを作っておく 履歴を20回分とっておけば、20個前のデータが 1ヶ月前かどうかを調べればいいでしょう。

future-boy
質問者

補足

そうなんですね。ありがとうございます。 データベースに回数は保存したいと思います。 あとは月の回数とか、日の回数なんですけど・・・・ やっぱり難しいそうですね・

その他の回答 (1)

  • koke29
  • ベストアンサー率58% (114/196)
回答No.2

date("t", mktime()); で毎月の日数を取得してから、その日数をリミットにすればよいのでは? あと、保存させるデータにsubmitされた日付を入力しておいて 再度submitした時にチェックさせるとかすれば1日一回の制限が出来ると思います (今日の日付が既に保存データに入っているならsubmit出来ないように) データの保存形式とか、submitされたデータで何をするのかが良くわからないのであんまり参考にならないかもしれませんが。

future-boy
質問者

お礼

どうもありがとうございます。 $データベースに入力した日付 == date("t", mktime()); こんな感じでできました。 あとは一ヶ月に10回とか20回とかの方法が・・・ どなたかお願い致します。 mktime()で作ってみたんですが、+30とで日付を足すと どんどん日付がおかしくなりました。 けど、これって違う質問になりますので いったんこれで締め切ります。

future-boy
質問者

補足

ご返答ありがとうございます。 言われたことをやってみます。 実は会員制のページを作成しているんですが、 更新を一ヶ月に10回とか1日1回とか制限をしたいんですよ。

関連するQ&A