2017-08-26 90 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