模仿韓順平老師做的web聊天系統,大神幫忙看下出了啥有關問題

來源:互聯網
上載者:User
模仿韓順平老師做的web聊天系統,大神幫忙看下出了啥問題
本帖最後由 alakey 於 2014-01-18 22:52:59 編輯


*******chatRoom.php******


//接受open傳遞的使用者名稱
$username=$_GET['username'];
$username=trim($username);
session_start();
$loginuser=$_SESSION['loginuser'];
?>







網頁聊天室(正在和聊天)










*********getMessageController.php********

require_once 'MessageService.class.php';
header("content-type:text/xml;charset=utf-8");
header("Cache-Control:no-cache"):
$getter=$_POST['getter'];
$sender=$_POST['sender'];

$messageService=new MessageService();

$messageList=$messageService->getMessage($getter,$sender);

echo $messageList;

?>

*********MessageService.class.php********


require_once 'SqlHelper.class.php';
class MessageService{

function addMessage($sender,$getter,$con){
$sql="insert into messages (sender,getter,content,sendtime) values ('$sender','$getter','$con',now())";
$sqlHelper=new SqlHelper();
return $sqlHelper->execute_dml($sql);
}

function getMessage($getter,$sender){

$sql="select * from messages where getter='$getter' and sender='$sender' and isGet=0";

$sqlHelper=new SqlHelper();

$array=$sqlHelper->execute_dql2($sql);
$messageInfo="";
for($i=0;$i $row=$array[$i];
$messageInfo.="{$row['id']}{$row['sender']}{$row['getter']}{$row['content']}{$row['sendtime']}";
}
$messageInfo.="";
$sqlHelper->close_connect();
return $messageInfo;
}

}
?>

大神幫忙看下問題出在哪了?
------解決思路----------------------
沒仔細看。單這一句: session_start();
因其前面有html標籤的輸出,肯定會有“headers already sent”的錯誤提示的吧?

你都沒說你出什麼問題了,讓大家如何下手
------解決思路----------------------
書寫健壯的代碼是很重要的
....
if(myXmlHttpRequest.status==200){
var mesRes=myXmlHttpRequest.responseXML;
if(mesRes.xml == '') { //如果不是 xml 對象
alert(myXmlHttpRequest.responseText);//看一下究竟返回了什麼
return;
}
....

------解決思路----------------------
這個估計也就是個外表吧,效能比較差。
聊天室,採用websockeet或comet,
其次也不必用資料庫,redis或檔案儲存體即可
------解決思路----------------------
header("Cache-Control:no-cache"):
這種錯誤,提示應該很明顯吧
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.