Php 在浏览器关闭时或会话超时前调用函数的可靠方法?

Php 在浏览器关闭时或会话超时前调用函数的可靠方法?,php,javascript,jquery,Php,Javascript,Jquery,在会话过期或窗口关闭之前,是否有可靠的方法来调用函数?为了避免过多的mysql查询,我的脚本将收集和更改php$\u会话中的数据变量变量,并在需要与数据库交互时进行mysql更新。由于我以这种方式存储这些数据,是否有可靠的方法确保在用户关闭窗口或会话过期之前将这些数据提交到数据库 我已经标记了php、javascript和jquery,因为我对任何这样做的方法都持开放态度 另外:抱歉,我们假定客户端已启用javascript。我正处于一个独特的境地,我并不特别在意为一个不是我的客户提供服务。经过

在会话过期或窗口关闭之前,是否有可靠的方法来调用函数?为了避免过多的mysql查询,我的脚本将收集和更改php
$\u会话中的数据变量
变量,并在需要与数据库交互时进行mysql更新。由于我以这种方式存储这些数据,是否有可靠的方法确保在用户关闭窗口或会话过期之前将这些数据提交到数据库

我已经标记了php、javascript和jquery,因为我对任何这样做的方法都持开放态度


另外:抱歉,我们假定客户端已启用javascript。我正处于一个独特的境地,我并不特别在意为一个不是我的客户提供服务。

经过多次搜索/讨论。我将使用
setTimeout()
方法定期将数据提交到数据库。用户返回后可以继续(可能会丢失一些数据),类似于谷歌文档模型。

这些查询有多“过度”?因为唯一真正安全的方法是立即更新数据库。否则,您将不得不依靠客户端(浏览器)来避免崩溃,让javascript运行,并且通常可以完美地工作。或者,如果您有一段时间没有收到来自客户端的请求,您需要在服务器的后台运行一些东西来完成所有操作。不管怎样,都是tricky@Flambino目前,查询的数量不在问题的范围之内。因为服务器上的潜在负载是可变的。如果我没有通过
$\u SESSION
处理信息,每个客户机每1/10秒可能会有3次查询。我们将假定查询的数量是不受影响的。问题仍然是,如果用户的互联网连接突然中断,会发生什么?我怀疑你会发现什么东西是完全可靠的。@jtbandes好吧,我会满足于相对可靠的,尽管我没有说“防弹”。@jtbandes:取决于他如何定义“会话”