2017-08-26 185 views
0

我试图做一些PHP邮件发送者和接收者的页面。 从“Admin.php”页面中,管理员可以向网站访问者发送消息。而“receiver.php”页面是访客的收件箱。 这里是代码: admin.php的: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> 

为什么不这项工作?

+1

如果将鼠标悬停在“堆栈溢出”的标签,它说:“不要使用这个标记来指代堆栈溢出网站,如果您有任何关于网站的问题时,请访问http://元。 stackoverflow.com,而是在引用错误时使用此标记 - 堆栈溢出 - 当调用堆栈上使用太多内存时发生。“ 你是不是描述一个堆栈溢出问题(https://en.wikipedia.org/wiki/Stack_overflow)这就是为什么我删除了标签,并再次删除它现在:-) –

回答

1

的问题是,你要使用“sender.php”做两件事情。

从您需要提交到一个PHP脚本,将存储的消息,在某种类型的数据库管理员形式。

然后在“receiver.php”您需要连接到不同的PHP脚本,它的任务是保持查询该数据库的新条目,当它看到一个就应该将其发送给客户端。后面的PHP脚本将以无限循环运行。

+0

我能做到这一点,而不MySQL数据库? – Jishnuraj

+0

我的意思是,通过使用fwrite和一个文本文件? – Jishnuraj

+0

请给它的代码。 – Jishnuraj