2012-06-14 4 views
6

Es gibt diese Funktion, die ich ausführen möchte, wenn der Benutzer eine bestimmte Seite verlässt. Diese Funktion wird grundsätzlich alle Daten innerhalb einer bestimmten Spalte in meiner Datenbank ändern. Wenn der Benutzer diese Seite verlässt, möchte ich, dass diese Funktion vom System ausgeführt wird. Gibt es eine Möglichkeit festzustellen, ob der Benutzer die Seite bereits verlassen hat?So erkennen Sie, ob ein Benutzer eine Seite in PHP verlässt

Danke!

+1

Lange Rede kurzer Sinn: Es gibt keinen verlässlichen Weg. Es gibt einige Javascript-Ereignisse, die das Entladen behandeln, aber sie können nicht garantiert werden. – xbonez

+0

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

+0

Mögliche Duplikate von [JavaScript, Browser, Fenster schließen - Senden einer AJAX-Anfrage oder Ausführen eines Skripts beim Schließen des Fensters] (http: // stackoverflow .com/questions/6162188/javascript-browsers-window-close-send-ein-ajax-request-or-run-a-script-on-win –

Antwort

1

Sie können das nicht mit PHP tun, da es eine serverseitige Sprache ist. Sie müssen JavaScript verwenden.

5

Mit 100% Zuverlässigkeit, nein, das ist nicht möglich. Da das Verlassen einer bestimmten Seite eine clientseitige Operation ist, haben Sie keine Kontrolle darüber, was der Client tut. Sie können einen onbeforeunload Handler über Javascript registrieren und hoffen, dass der Client-Browser dies unterstützt. Aber auch hier ist die Unterstützung nicht universell.

1

Sie können dies in PHP nicht tun, aber man konnte die JavaScript-Funktion onbeforeunload verwenden, hier ein 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

Da serverseitige PHP nur den Server-Skript ausgeführt und sendet dann das Ergebnis an den Browser, den Sie kann das nicht mit php alleine machen. Sie könnten eine Ajax-Anfrage an Ihr php-Skript mit dem onunload-Ereignis senden, indem Sie Javascript verwenden, und dann das php-Skript als Antwort auf diese Anfrage ausführen.

Verwandte Themen