2012-06-14 13 views
6

Kullanıcının belirli bir sayfayı terk etmesi durumunda yürütmek istediğim bu işlev var. Bu işlev, veritabanımdaki belirli bir sütunun içindeki tüm verileri temelde değiştirecektir. Dolayısıyla, kullanıcı bu sayfadan ayrılırsa, bu işlevin sistem tarafından gerçekleştirilmesini istiyorum. Kullanıcının sayfayı zaten terk edip etmediğini tespit etmenin bir yolu var mı?Bir kullanıcı PHP'de bir sayfadan ayrılırsa nasıl algılanır

Teşekkürler!

+1

Uzun lafın kısası: Güvenilir bir yol yoktur. Yüklemeyi kaldıran bazı javascript olayları var, ancak bunlar garanti edilemez. – xbonez

+0

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

+0

[JavaScript, tarayıcılar, pencere kapat - bir AJAX isteği gönder veya pencere kapanışında bir komut dosyası çalıştır] olası kopyası (http: // stackoverflow .com/sorular/6162188/javascript-tarayıcılar-pencere-yakın-send-bir-ajax-isteği veya işletilen-a-komut-on-kazan) –

cevap

1

Bunu bir sunucu tarafı dili olduğundan PHP'yi kullanarak yapamazsınız. JavaScript kullanmanız gerekecek.

5

% 100 güvenilirlikle, hayır, bu mümkün değil. Belirli bir sayfadan ayrılmak, istemci tarafındaki bir işlem olduğundan, istemcinin ne yaptığını kontrol edebilirsiniz. Javascript aracılığıyla bir onbeforeunload işleyicisini kaydedebilir ve istemci tarayıcısının bunu desteklediğini umabilirsiniz. Fakat yine de, bu destek evrensel değildir. Burada, javascript fonksiyonu onbeforeunload

1

Sen php bunu yapamaz ancak kullanabilirsiniz bir 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

sunucu tarafı php yalnızca sunucu komut çalıştırır ve sonra tarayıcıya size sonucu gönderir yana bunu sadece php ile yapamazsın. Javascript kullanarak onunload olayı ile php komut dosyasına bir ajax isteği gönderebilir ve daha sonra bu talebe cevaben php betiğini çalıştırabilirsiniz.

İlgili konular