我有一個簡單的問題在這裏,PHP私聊長輪詢整合
Ive得到了我的聊天HTML裏面這種形式多數民衆贊成:
<form action="../addchat.php" method="POST" enctype="multipart/form-data">
<textarea id="textarea" style="border-radius:0px; border:none; background-color:rgb(243,243,243); min-height:100px;"name="comment" rows="4" cols="50"></textarea><br>
<input height="25px" width="20px" style="float:right;" type="image" src="../arrow.png" name="submit" value="Comment">
</form>
這種形式對於用戶提交他們的聊天信息。而在此之後,形式職位將直接向addchat.php的信息,其中包含以下代碼:
<?php
ob_start();
session_start();
include_once("config.php");
$reply=mysqli_real_escape_string($mysqli,$_POST['comment']);
$cid=mysqli_real_escape_string($mysqli,$_SESSION['cid']);
$uid=mysqli_real_escape_string($mysqli,$_SESSION['userid']);
$time=time();
$ip=$_SERVER['REMOTE_ADDR'];
$q= mysqli_query($mysqli,"INSERT INTO conversation_reply (user_id_fk,reply,ip,time,c_id_fk) VALUES ('$uid','$reply','$ip','$time','$cid')") or die(mysqli_error($mysqli));
?>
這個腳本明顯的數據添加到表中,並在此之後,聊天的html頁面上的其他腳本會顯示出來聊天消息。
但是,目前的問題是,首先,用戶點擊提交後,頁面將重定向到另一個空白頁面並顯示成功消息。其次,用戶需要刷新以查看新的聊天消息。
這個聊天應用程序是一個私人聊天(類似Facebook),所以不知道該怎麼做?希望有些幫助:)
我建議你和的NodeJS SocketIO,這裏是基本的聊天例如將覆蓋的基本知識,併爲您的聊天程序的話題。 http://socket.io/demos/chat/ – Kiee 2014-12-03 10:44:50
我對SocketIO和Node進行了檢查,在我看來,它們更適用於羣組聊天應用程序,而在我的情況下,我正在尋找更多的私人聊天(某事像臉書),它會在這種情況下仍然有效嗎? – user4269367 2014-12-03 13:14:12
是的。你可以喜歡......驗證用戶,將他們放入廣播組(聊天室)或讓他們直接對話。節點和php的主要區別是在節點中你總是可以訪問所有的連接。 (你可以很容易地把連接放到一個數組中,並迭代它們來廣播消息)。反正..如果你確實想在php中這樣做,你可以增加時間量,直到php掛起連接。只是睡覺你的PHP腳本,直到有數據可用(例如每秒從數據庫請求新消息),然後迴應ajax請求 – GottZ 2014-12-03 16:33:12