gpt4 book ai didi

php - 在数据库更新时重定向用户

转载 作者:可可西里 更新时间:2023-11-01 08:24:26 25 4
gpt4 key购买 nike

这里是另一个初学者问题:/...

我有一个 MySQL 数据库和一个带有一些 PHP 文件的 Web 应用程序,比方说 page1.php 和 page2.php。

当用户在 page1.php 上时,我需要在我的数据库获得特定更新时将他自动重定向到 page2.php。设表“foo”为:

-------------------
| ID | NAME | AGE |
-------------------
| 1 | Bob | 32 |
-------------------
| 2 | Ken | 28 |
-------------------

如果数据库更新并且 Ken 的年龄变为 30 岁,我希望 page1.php 上的用户在 page2.php 上被重定向。

我知道这可以通过一些 AJAX 通过使用 setInterval() 方法不断调用 php 文件来实现,但是我找不到任何东西来处理重定向函数。到目前为止,我发现的所有内容都是可以更新 HTML 页面中的 div 容器的脚本,例如:

<script>
setInterval(
(function () {
$("#somediv").load("file.php");
}), 10000);
</script>
<div id="somediv"></div>

这显然不会帮助我重定向用户。我已经研究了好几个小时了,相信我,我做了很多研究。那么编写自动查找要插入 MySQL 数据库的指定数据然后将用户从 page1.php 重定向到 page2.php 的脚本的最佳方法是什么?

提前致谢:)

最佳答案

您对 AJAX 调用有正确的想法,但不要使用 $.load(),而是使用类似 $.get() 的方法:

<script type="text/javascript">
function check_db() {
$.get( 'file.php', function( result ) {
if ( result == 'changed' ) {
location.href = 'page2.php';
}

setTimeout( 'check_db', 10000 );
} );
}

check_db();
</script>

如果您要查找的数据库发生更改,则让 file.php 输出“已更改”。

上面的 JavaScript 将每 10 秒调用一次 file.php,这将检查数据库的变化。如果发生,则输出“change”,location.href 方法将使用 JS 将您重定向到 page2.php

@vher2 对 file.php 提出了一个很好的观点,可能需要很长时间才能返回。我修改了示例以考虑到这一点。因此,与其每 10 秒运行一次调用,它不会在一个调用结束和下一个调用开始之间间隔 10 秒运行。

关于php - 在数据库更新时重定向用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45727657/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com