在 PHP 中,当同一页面的其他实例更改时,更新页面

Update page as other instances of the same page changes in PHP

本文关键字:实例 更新 其他 PHP 一页      更新时间:2023-09-26

这是我的问题。我有一个用户的登录名。许多用户可以使用相同的凭据登录。当用户登录时,他们会看到一组单选按钮。假设User AUser BUser C同时登录。当User A选择某些单选按钮时,User BUser C还应在其页面中看到它们处于选中状态。(反之亦然)如果User B再次更改选定的单选按钮,User AUser C应在其页面中获取该更新的值。像这样,最新的选择应该在所有页面中可见。请帮我解决这个问题。

不久前我做了类似的设置,当用户切换部门视图时,应用程序的所有打开页面都会提示他有关更改并切换到活动部门视图。

我做了如下。

在用户会话中存储所需的变量。在您的情况下,由于您需要在多个用户之间使用它,因此会话不会这样做 - 将其存储在数据库或平面文件中。在您的情况下,这些变量会在无线电onChange事件上更新。

使以下 JS 可用于相关页面。请注意,我使用了onFocus因为这是我需要的,您可能需要使用setInterval()

window.onfocus = function(e) {
var_check();
};
function var_check(){
$.ajax({
    url: 'home/check_vars_ajax',
    type:'POST',
    dataType: 'text',
    data : {[YOUR DATA]}
}).done(function(data){
    // ...
    // handle selecting releavant radio buttons here
});
}

总结一下:

  1. 将您的无线电选择写入数据库或平面文件(通过 AJAX)
  2. 设置检测信号调用以检查服务器上的当前状态 (AJAX)
  3. 相应地更新无线电选择

另一种方法是选择WebRTC,这基本上允许您屏幕共享用户页面并在其他用户上显示结果,反之亦然。它具有非常整洁的API,您可以查看很多示例。教程可用,其主页本身就是一个很好的起点

但是关于你的具体问题,我不能给你一个明确的答案,因为这个问题本身并不广泛(在我看来)。所以检查一下,希望它有所帮助。

您可以通过简单的数据库查询来完成此操作。它的工作原理是,当有人登录页面时,它会从数据库行中获取一个变量。在设定的时间,页面查询数据库。如果数据库中的值已更改,请将该行更新 1。其他页面将按您设置的时间间隔进行查询,并使用 AJAX 更新页面。这是一次更新所有页面的好方法。这是这方面的教程。
AJAX 自动刷新

您可以在此页面上的请求框中看到修改后的示例自动收音机

它很容易修改。基本要素就在那里。