本文实例讲述了简单的php+mysql聊天室实现方法。分享给大家供大家参考,具体如下:
这里介绍的程序分为 8 个文件:
frameset框架页面:index.php
显示聊天室内容页:show.php
用户登陆页面:login.php
用户发言页面:speak.php
数据库配置文件:config.php
页面美化样式:style.css
数据库文件:chat.sql
发言表情包:face/
分别介绍如下:
一、数据库文件chat.sql如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for `chat` -- ---------------------------- DROP TABLE IF EXISTS `chat`; CREATE TABLE `chat` ( `chtime` datetime default NULL , `nick` char (10) NOT NULL , `words` char (150) default NULL , `face` int (11) default NULL ) ENGINE=InnoDB DEFAULT CHARSET=gb2312; -- ---------------------------- -- Records of chat -- ---------------------------- INSERT INTO chat VALUES ( '2013-03-21 04:15:14' , 'smiling' , '测试显示发言' , '3' ); INSERT INTO chat VALUES ( '2013-03-21 04:46:26' , 'smiling' , '时间有问题,' , '5' ); INSERT INTO chat VALUES ( '2013-03-21 04:47:28' , 'php新手' , '新手来了。' , '1' ); INSERT INTO chat VALUES ( '2013-03-21 04:55:19' , 'php新手' , '显示正确啦' , '6' ); INSERT INTO chat VALUES ( '2013-03-21 17:12:47' , 'php新手' , '正确显示时间' , '5' ); INSERT INTO chat VALUES ( '2013-03-21 17:23:19' , 'php新手' , '时间显示正确。' , '7' ); INSERT INTO chat VALUES ( '2013-03-21 17:23:29' , 'php新手' , '哈哈' , '1' ); INSERT INTO chat VALUES ( '2013-03-22 08:28:00' , '' , '今天再来看看。' , '3' ); |
二、框架页面如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
< html xmlns = "http://www.w3.org/1999/xhtml" > < head > < meta http-equiv = "Content-Type" content = "text/html; charset=gb2312" /> < title >简单的php+mysql聊天室--框架页 title >
head > < frameset rows = "*,80" cols = "*" framespacing = "0" bordercolor = "#E1D1AE" > < frameset rows = "*" cols = "*,284" > < frame src = "show.php" name = "mainFrame" /> < frame src = "login.php" name = "rightFrame" />
frameset > < frame src = "speak.php" name = "bottomFrame" />
frameset > < noframes >< body >
body >
noframes >
html > |
三、用户登陆页面login.php如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
|
四、用户发言页面speak.php如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
发言表情:
|
五、显示聊天室内容页show.php如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
if ( $words ){ $query = "insert into chat(chtime,nick,words,face)values(now(),'$nick','$words','$face')" ; //插入SQL语句 mysql_query( $query , $link_ID ); //发送留言到数据库 header( "refresh:0; URL='show.php'" ); } ?>
//最新发言显示在最下面 $sql = "select * from chat order by chtime asc" ; $result =mysql_query( $sql ); $total =mysql_num_rows( $result ); $info =( $total /15-1)*15; if ( $total <15){ $str = "select * from chat order by chtime asc;" ; //查询字符串 } else { $str = "select * from chat order by chtime asc limit $info,15;" ; //查询字符串 } $result =mysql_query( $str , $link_ID ); //送出查询 while ( $row =mysql_fetch_array( $result )){ ?>
|