【发布时间】:2022-01-18 20:38:47
【问题描述】:
在我的网站name combiner 上,我想在关闭浏览器的同时向数据库发送查询我已经尝试过这个脚本,但它没有在数据库中执行查询来更改列状态的值
$(window).on("beforeunload", function() {
<?php
include('config/configuration.php');
$uid=$_GET['id_p'];
$statue_pharmacie = mysql_query('update pharmacies set statue=0 where id="'.$uid.'"');
?>
return inFormOrLink ? "Do you really want to close?" : null;
});
【问题讨论】:
-
不可能。 JS 运行在客户端,PHP 运行在服务器端。您的 PHP 代码在页面生成时运行,并且在客户端的 js 代码中完全没有任何内容。您可以让 beforeunload 向服务器发出 ajax 请求以尝试执行此操作,但由于浏览器已关闭,因此无法保证请求有足够的时间进入网络。
-
如上所述,我认为您正在混淆 PHP 和 javascript。看看ajax,创建一个php文件来处理数据库逻辑
-
所以在关闭浏览器时无法更新数据库 =/?@MarcB
-
@SteveReck 如上所述,您必须使用 AJAX。当浏览器关闭时,使用 JS 触发对运行查询的 PHP 脚本的 AJAX 调用。
-
@versalle88 你能举个例子吗?
标签: javascript php ajax html