聊天室很多程序可以實現,原理也簡單只要一個無刷新就可以實現,最簡單的就是利用一個iframe不停的刷新頁面把用戶的記錄從數據庫讀出來就可以了。
MySQL並發能力強、響應速度快,是性能優異的數據庫軟件;PHP是功能強大的服務器端腳本語言。筆者在山西鋁廠網站開發中,采用PHP4.0+MySQL3.23.38建立了多種應用。下面,以一個簡單的聊天室設計為例,介紹PHP+MySQL在網頁開發中的應用。
1、總體設計
1.1 構思與規劃:
聊天室的基本原理,就是把每個連上同一網頁的用戶傳送的發言數據儲存起來,然後將所有的發言數據傳給每一用戶。也就是說,用數據庫匯集每個人的發言,並將數據庫中的數據傳給每一個人就實現了聊天室的功能。
1.2 表設計
首先使用MySQL建立表chat用來儲存用戶的發言:
代碼如下 復制代碼
mysql> CREATE TABLE chat
-> (chtime DATATIME,
-> nick CHAR(10) NOT NULL,
->words CHAR(150));
表中只設定了三個域,chtime是發言的時間,nick為發言者的昵稱,words是發言的內容,發言最多150個字符
1.3 網頁設計
一個最簡單的聊天室通常需要兩個頁框:一個頁框是用戶輸入發言的表單,另一個用來顯示大家的發言。所以代碼段通常至少需要如下幾段:
建立頁框的結構(main.php)
顯示大家發言的程序段(cdisplay.php)
傳送用戶發言的程序段(speak.php)
用戶登錄進入聊天室程序段(login.php)
2、代碼設計
以上規劃完成後,就可以著手代碼設計了,采用php可以非常簡明實現以上的功能。
2.1 用戶登錄login.php,本段代碼是一個完全HTML網頁
代碼如下 復制代碼 <html>
用戶提交自己的昵稱後,就進入到聊天室,以下的處理交由main.php處理。
2.2 頁框主體代碼段main.php:
代碼如下 復制代碼<?
setcookie(“nick”,$nick) //用cookie記錄用戶昵稱,是常用的傳遞變量方法
?>
<html>
<title>山西鋁廠聊天室試用版ver1.0</title>
<frameset rows=”80%,*”>
<frame src=” cdisplay.php” name=”chatdisplay”>
<frame src=”speak.php” name=”speak”>
</frameset>
</html>
2.3 顯示發言cdisplay.php
本代碼段的任務是將表chat中的數據取出,顯示在頁框中。每次刷新時,取數據庫中最近的15條發言。同時,為防止數據庫無限增大,需設計刪除陳舊數據的功能。代碼如下
代碼如下 復制代碼 <html>
2.4 送出發言到數據庫speak.php
代碼如下 復制代碼 <html>
//輸入發言的表單
代碼如下 復制代碼<form action=”speak.php” method=”post” target=” _self”>
<input type=”text” name=”words” cols=”20”>
<input type=”submit” value=”發言”>
</form>
</body>
</html>
完成以上工作後,一個簡單的聊天室制作就完成了