天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

基于PHP+MySQL的聊天室設計

筆者在網站開發中,采用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>
<head>
<title>用戶登錄</title>
</head>
<body>請輸入您的昵稱<br>
<form action="main.php" method="post" target="_self">
<input type="text" name="nick" cols="20">
<input type="submit" value="登錄">
</body>
</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>
<head>
<title>顯示用戶發言</title>
<meta http-equiv="refresh" content="5;url=cdisplay.php">
</head>
<body>
<?
$link_ID=mysql_connect("main","root");
//鏈接Mysql服務器 服務器名為main,管理員名為root
mysql_select_db("abc"); //選擇數據庫
$str="select * from chat ORDER BY chtime;" ; //查詢字符串
$result=mysql_query($str, $link_ID); //送出查詢
$rows=mysql_num_rows($result); //取得查詢結果的記錄筆數
//取得最后15筆發言,并顯示
@mysql_data_seek($resut,$rows-15); //移動記錄指針到前15筆記錄
if ($rows<15) $l=$rows; else $l=15; //記錄總數小于15,則最多為該記錄數
for ($i=1;$i<=$l;$i++) {
list($chtime,$nick,$words)=mysql_fetch_row($result);
echo $chtime; echo " ";echo $nick; echo":" ; echo $words; echo "<BR>";
}
//清除庫中過時的數據
@mysql_data_seek($result,$rows-20); //移動記錄指針到前20筆記錄
list($limtime)=mysql_fetch_row($result);
$str="DELETE FROM chat WHERE chtime<'$limtime' ;" ;
$result=mysql_query($str,$link_ID); //送出查詢字符串,庫中只留前20個記錄
mysql_close($link_ID);
?>
</body>
</html>

  2.4 送出發言到數據庫speak.php

復制代碼 代碼如下:
<html>
<head>
<title>發言</title>
</head>
<body>
<?
If ($words)
{ $link_ID=mysql_connect("main","root");
mysql_select_db("abc"); //數據庫名為abc
$time=date(y).date(m).date(d).date(h).date(i).(date(s); //取得當前時間
$str="INSERT INTO chat(chtime,nick,words) values
('$time','$nick','$words');" ;
mysql_query($str,$link_ID); //送出發言到數據庫
mysql_close($link_ID);
}
?>
//輸入發言的表單
<form action="speak.php" method="post" target=" _self">
<input type="text" name="words" cols="20">
<input type="submit" value="發言">
</form>
</body>
</html>

  完成以上工作后,一個簡單的聊天室制作就完成了。當然,設計者可以根據個人愛好做一些個性化設計,如增加一個頁框,顯示當前聊天室人員名單、增加發言表情、取得發言者IP、進一步美化頁面等等。

php技術基于PHP+MySQL的聊天室設計,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 成人在免费视频手机观看网站 | 扒开老师大腿猛进AAA片邪恶 | 日韩午夜欧美精品一二三四区 | 女的把腿张开男的往里面插 | 国产精品人妻无码久久久2022 | 国产最新精品亚洲2021不卡 | 美女pk精子2小游戏 美女MM131爽爽爽 | 午夜精品久久久久久久99蜜桃 | 国产精品久久久久无码AV色戒 | a在线观看免费视频 | 一区视频免费观看 | JizzJizzJizz亚洲成年 | 麻豆国产原创中文AV网站 | 亚洲女人网 | 亚洲爆乳少妇精品无码专区 | 娇女的呻吟亲女禁忌h16 | 一个吃奶两个添下面H | aaa级黄影片 | 国产交换丝雨巅峰 | 亚洲精品视频在线观看免费 | 色欲AV久久综合人妻蜜桃 | 性生交片免费无码看人 | 和搜子的日子 在线观看 | 日韩 亚洲 欧美 中文 高清 | 中文无码热在线视频 | 久久久高清国产999尤物 | 久久青草免费线观最新 | 亲胸摸下面激烈免费网站 | 九九色精品国偷自产视频 | 女人张腿让男人桶免费 | 国产免费怕怕免费视频观看 | 狠狠啪在线香蕉 | 精品无码一区二区三区不卡 | 肉动漫无码无删减在线观看 | 激情内射亚州一区二区三区爱妻 | 黑人巨大交牲老太 | 午夜宅宅伦电影网中文字幕 | 乌克兰xxxxx 乌克兰18性hd | 边摸边吃奶边做带声音 | 国内精品免费久久影院 | 中文在线日韩亚洲制服 |