'X' düğmesine bastıktan sonra veritabanı değişim

2 Cevap php

What i know:- Biz Javascript veritabanını değiştirmek için Ajax kullanabilirsiniz. Biz başlık çubuğunda 'X' düğmesine her bastığınızda Yani "onbeforeunload" olay çağırır. Ve bu olay biz veritabanı değiştirebilirsiniz.

Ama benim durumumda, ben kullanıcı durumunu değiştirmek istediğinizde sadece 'X' düğmesine kullanıcı tıklayın. Değil sayfasını değiştirme durumunda. Sayfayı değiştirmeden sayfayı boşaltma olduğundan dolayı. ve sayfayı kapatmadan da sayfasını (Her ne kadar ben biliyorum) boşaltma edilir.

Sayfayı kapatmadan ve diğer sayfa bir sayfadan diğerine hareket arasında ayrım için herhangi bir yolu var mı?

Ben kullanıcı durumunu (yani giriş / çıkış), o çapraz düğmeye bastığında değiştirmek için kullanmak istiyorum.

I don't want to set status "logout" when user changes the page. I want to set status "logout" when user 'X' the button.

Plese bana yardım et.

2 Cevap

Sen yapamazsın, javascript, çünkü uzakta gezinme nedeniyle bırakma ve kaldırma bir boşaltma arasında bir fark yaratabilir.

Ne yapabilirsiniz:

  • Her boşaltma üzerinde, bir oturum kapatma koymak
  • Kapatma X zaman önce daha az ise her sayfasında, oturum kapatma çıkarın.

Bir kullanıcı bir sayfadan diğerine gittiğinde bu şekilde, "diğer" sayfa kullanıcıyı görmek ve logoff iptal edecektir.

PS: için javascript güvenmeyin bir 'kapalı oturum' - Kullanıcıların devre dışı bırakabilirsiniz, ya da çeşitli nedenlerle başarısız olabilir. Bu bir "son tıklama" zaman damgası için yararlı olacağını ve son tıklama çok uzun zaman önce ise, daha sonra oturum olarak kullanıcıyı düşünebilirsiniz.

Sadece bir kullanıcı değil, veritabanı oturum durumunu depolamak düzenli oturumları kullanın. Tarayıcı kapatıldığında varsayılan olarak, bir PHP oturum sona eriyor. Bkz http://www.php.net/manual/en/session.configuration.php#ini.session.cookie-lifetime