質問

たとえば、ボタンをクリックすると、1分後にデータベースに何かが送信されますが、それも送信したいと考えています if I leave the page :)

したがって、1 分から残り 30 秒になったときにページを離れると、60 秒に達するまでカウントダウンが続き、データがデータベースに送信されます。

それが明らかだといいのですが。これに使えばいいと思います SESSIONですが、答えを知っている場合、または何か役に立つことがあれば教えてください:)

例:の上 http://www.トラビアン.com/, 何かを作り始めると、「xx:xx:xx に完成します」というカウントダウンが表示されます。ただし、ブラウザを開いたままにする必要はありません。ログアウトしてもカウントダウンはサーバー上で実行され続けます。

あるいは、実際の例を挙げてみましょう。

私が書いている wordpress のようなブログ システムを想像してください。 10 毎日投稿しますが、ユーザーのみに表示したい 5/day.

または、8:00にユーザーに表示したい A.M.

または、travian からの別の抜粋:

想像してみてください game ここでは軍隊を作成できますが、軍隊を作成するには待つ必要があります。人生は簡単ではないからです:D、だから for a troop 待つ必要があります 1 minutes.

役に立ちましたか?

解決

これは不可能です。彼らは、のインターネット接続がの失敗したため、またはそれらをデータベースに情報を送信させる方法はありません、その時点での停電が、ありますので、ユーザーがページを離れるかもしれません。

あなたはどうすることができますが、タイムスタンプは、1分間の遅延をシミュレートし、そのテーブルに対するすべての要求に追加の制約を追加する「の前に開けません」と、すぐにデータベースにデータを格納されます:

WHERE createDate < NOW()

他のヒント

おそらく、あなたはJavaScriptを使用して、あなたがAJAX経由でPHPにデータを送信することができますので、あなたが関数内でこのAJAXをカプセル化して、あなたの「遅延」機能からこれを呼び出す場合、遅延を開始するために、JavaScriptのコマンドを使用します。

あなたを残しページでも使用することができますについては、

window.onbeforeunload=delayFunction;

希望このことができます。

このアクションのための保証はありません。私も、ブラウザを閉じてページを残すことができます。データベース駆動型のソリューションを構築することが最善です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top