如何将数据从一个页面推送到另一个页面 [PHP]

Posted

技术标签:

【中文标题】如何将数据从一个页面推送到另一个页面 [PHP]【英文标题】:How to push data from one page to another [PHP] 【发布时间】:2015-02-27 11:09:20 【问题描述】:

我正在使用 sockets.io、express 和 php,我想知道是否可以将页面的某些内容(当时只有特定用户可以看到)推送到其他人可以看到的另一个页面。例如,如果管理员有:

<?php $a = $row['test']; //data from test table
$q = '<h2>'.$a.'</h2>';
$b = $row['options']; //data from answers table
$c = '<label"><input type="radio" name="radio" value="'.$b.'" onclick="">'.$a.'</label>
$output = ''.$a.','.$c.',<input type="submit" name="submit" value="submit">';
        echo $output

因此,这会输出为带有单选按钮的问题,作为供客户选择的选项。是否有可能将其推送给客户端。就像管理员会推送第一个问题,然后是下一个问题,等等。我是 webscokets 的新手,但我已经掌握了它,但这真的让我大吃一惊。任何想法都会很有帮助。

编辑:

目前,我已经让普通用户能够查看管理员设置的内容。现在,我的问题是管理员控制如何将数据发送到用户/客户端。我现在有一个按钮,当用户按下下一个时,会出现下一个数据/问题,但我希望管理员能够控制它。就像当用户提交第一个数据时,页面加载并等待管理员推送下一个问题。

【问题讨论】:

【参考方案1】:

如果没有 Ajax,您将无法实现这一点。

一旦用户的浏览器显示页面,除非您更改内容,否则它将保持静态。

可以简单地每隔几秒自动刷新一次,但更好的方法是让 JS 定期轮询 Web 服务器以获取新的页面内容。

【讨论】:

非常感谢您的帮助,但我有点理解。你能举个例子吗,因为我对 websockets 还很陌生。【参考方案2】:

我不确定,但据我了解,您希望在客户端浏览器上的页面已经加载后发送一些数据。这实际上是一个非常经典且常见的堆栈问题。

浏览器呈现页面后,您无法添加任何数据。要获得更多数据,用户必须发送请求、获取或发布。 html 表单要求您从页面刷新或重定向。因此,对于动态页面,您可以使用 Ajax 定期向服务器发送 ping 请求以获取更多数据。使用 Ajax,您不必每次都重新加载页面。

您也可以使用网络套接字。大多数现代浏览器都支持它。 Websockets 打开一个在客户端会话期间保持打开的连接。您可以随时发送数据,而无需考虑用户的请求。

你可以从这里开始。

https://www.tutorialspoint.com/websockets/index.htm

https://www.rfc-editor.org/rfc/rfc6455#section-5.2

【讨论】:

以上是关于如何将数据从一个页面推送到另一个页面 [PHP]的主要内容,如果未能解决你的问题,请参考以下文章

将数据从带有页面控制器的 uiscrollview 传递到另一个视图控制器 [关闭]

Javascript/jQuery - 将项目推送到数组并从数组中删除

使用 Azure 将通知从 ASP.Net 页面推送到不同平台

在 Flutter 中 - 从 Web 浏览器中的 PayPal 完成交易页面返回后,如何将用户推送到应用程序中的“谢谢”页面

如何在 PHP 中将数组值推送到另一个数组中? [复制]

如何将文件从主分支推送到另一个分支?