1

私はPHPの初心者で、次の問題についてあなたの助けが必要です. たとえば、index.php (ユーザーが何らかのアクションを実行する必要がある場所) とredeed.php (彼が生成したコード) の 2 つのページがあるとします。さて、これがどのように機能するかです:

  • ユーザーは 1 日に 1 回だけタスクを実行できます ( ? )。タスクが既に完了している場合は、適切なメッセージが表示されます。
  • タスクを完了すると、redeed.php にアクセスできます (✔ - 完了)
  • ユーザーが投票していない場合、redeed.php には何らかの保護が必要です (✔ - 完了)。

今.. 最初のポイントを解決する方法がわかりません。Cookie に基づいてこれを行うこともできますが、一部の「賢い」ユーザーは単純にそれらを削除できます:/ したがって、これは無意味です。これを行う最善の方法はmysqlだと思いますが、ユーザーが今日タスクを完了したかどうかに応じて、タスクを完了する時間を取得してこれを操作する方法がまったくわかりません。わかりました、あなたがこのすべてを理解してくれることを願っています ;p そして、あなたたちからの良いアドバイスを期待しています ありがとう! ;-)

4

2 に答える 2

1

Cookie の代わりに、この特定のアクションが利用可能になる日付を保存する必要があります。だからあなたは次のようなことができます

$expireTime = strtotime("+1 day");

有効期限を使用すると、現在の時間がメジャーであるか有効期限と等しいかを簡単に確認できます。

if (time() >= $expireTime) {
    echo "Hey, you already voted!";
} else {
    header("Location: /redeem.php");
    exit;
}

明らかに、開始するコードがなければ、より具体的にすることはできません。

于 2013-06-24T13:58:16.297 に答える