我正在尝试制作一些php消息发送方和接收方页面。从"Admin.php“页面,管理员可以向网站访问者发送消息。"receiver.php“页面是访问者的收件箱。代码如下: Admin.php:
<form method="post" action="sender.php">
<input type="text" name="message">
<input type="submit" value="Submit">
</form>Sender.php:
<?php
header('Content-Type: text/event-stream');
header('Cache-Control: no-cache');
$message = $POST["message"];
echo "data: {$message}\n\n";
flush();
?>Receiver.php:
<!DOCTYPE html>
<html>
<body>
<h1>Getting server updates</h1>
<div id="result"></div>
<script>
if(typeof(EventSource) !== "undefined") {
var source = new EventSource("sender.php");
source.onmessage = function(event) {
document.getElementById("result").innerHTML += event.data + "<br>";
};
} else {
document.getElementById("result").innerHTML = "Sorry, your browser does not support server-sent events...";
}
</script>
</body>
</html>为什么这个不起作用?
发布于 2017-08-27 17:14:47
问题是您正在尝试使用"sender.php“来做两件事。
从管理表单,您需要提交到一个php脚本,将存储的消息,在某种类型的数据库。
然后在"receiver.php“中,您需要连接到不同的PHP脚本,该脚本的工作是不断轮询数据库中的新条目,当它发现一个新条目时,它应该将其发送到客户端。后一个PHP脚本将在无限循环中运行。
https://stackoverflow.com/questions/45895927
复制相似问题