2012-06-14 9 views
6

ユーザーが特定のページを離れる場合に実行したいこの機能があります。この機能は、基本的に私のデータベースの特定の列内のすべてのデータを変更します。したがって、ユーザーがこのページを離れる場合は、この機能をシステムで実行する必要があります。ユーザーが既にページを離れたかどうかを検出する方法はありますか?ユーザーがPHPでページを残すかどうかを検出する方法

ありがとうございます!

+1

ロングストーリーショート:信頼できる方法はありません。アンロードを処理するjavascriptイベントがいくつかありますが、保証することはできません。 – xbonez

+0

http://stackoverflow.com/questions/1889404/jquery-ui-dialog-onbeforeunload –

+0

[JavaScript、ブラウザ、ウィンドウクローズの可能な複製 - AJAX要求を送信するか、ウィンドウを閉じるときにスクリプトを実行する](http:// stackoverflow .com/questions/6162188/javascript-browsers-window-close-send-an-ajax-request-or-run-a-script-on-win) –

答えて

1

PHPを使用することはできません。サーバー側の言語なので、PHPを使用することはできません。 JavaScriptを使用する必要があります。

5

信頼性は100%ですが、不可能です。特定のページを残すのはクライアント側の操作なので、クライアントの操作を制御することはできません。 Javascriptを使用してonbeforeunloadハンドラを登録して、クライアントブラウザがサポートしていることを願ってください。しかし、ここでもこれは普遍的なものではありません。ここでは、JavaScriptの機能のonbeforeunloadを

1

あなたは、PHPでこれを行うことはできませんが、使用することができexample

<script type="text/javascript"> 
    window.onbeforeunload = confirmExit; 
    function confirmExit() 
    { 
    return "You have attempted to leave this page. If you have made any changes to the fields without clicking the Save button, your changes will be lost. Are you sure you want to exit this page?"; 
    } 
</script> 
1

サーバー側のPHPはサーバのみスクリプトを実行し、ブラウザあなたに結果を送信するので、 PHPだけでこれを行うことはできません。 javascriptを使用してonunloadイベントを使用してphpスクリプトにajaxリクエストを送信し、そのリクエストに応じてphpスクリプトを実行できます。

関連する問題