2012-06-14 14 views
6

C'è questa funzione che voglio eseguire nel caso in cui l'utente lasci una determinata pagina. Questa funzione cambierà sostanzialmente tutti i dati all'interno di una determinata colonna nel mio database. Quindi, nel caso in cui l'utente lasci questa pagina, voglio che questa funzione venga eseguita dal sistema. C'è un modo per rilevare se l'utente ha già lasciato la pagina.Come rilevare se un utente lascia una pagina in PHP

Grazie!

+1

Per farla breve: non esiste un modo affidabile. Ci sono alcuni eventi javascript che gestiscono lo scaricamento, ma non possono essere garantiti. – xbonez

+0

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

+0

Possibile duplicato di [JavaScript, browser, chiusura finestra - invia una richiesta AJAX o esegui uno script alla chiusura della finestra] (http: // stackoverflow .com/domande/6162188/javascript-browser-window-vicino-inviare-una-ajax-richiesta-o-run-a-script-on-win) –

risposta

1

Non è possibile farlo utilizzando PHP poiché si tratta di un linguaggio lato server. Dovrai usare JavaScript.

5

Con il 100% di affidabilità, no, non è possibile. Dato che lasciare una determinata pagina è un'operazione client-side, hai 0 controllo su ciò che fa il client. È possibile registrare un gestore onbeforeunload tramite Javascript e sperare che il browser client lo supporti. Ma ancora una volta, il supporto per questo non è universale.

1

Non si può fare questo in PHP, ma è possibile utilizzare la funzione di onbeforeunload javascript, qui un 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 PHP lato server viene eseguito solo lo script del server e quindi invia il risultato al browser non posso farlo con PHP da solo. È possibile inviare una richiesta Ajax al proprio script php con l'evento onunload utilizzando javascript, quindi eseguire lo script php in risposta a tale richiesta.

Problemi correlati