您当前的位置: 首页 > 学无止境 > JS经典实例 网站首页JS经典实例
ajax聊天室带离线留言功能(1)
发布时间:2015-04-28 21:31:29编辑:雪饮阅读()
一、分析聊天室
基于手机短信功能的原理来分析聊天室。其实手机短信的聊天原理是发送方发送的短信内容先存储在短信台中,接收方会在每隔一段时间去短信台中扫描是否有自己的信息,若是有了就接收到了。
这里的短信台可以看做是数据库,那么我们现在需要先创建一个数据库。
创建数据库必不可少的就是id字段,聊天的双方必须都要有区分自己身份的信息,所以必须要有发送方和接收方两个字段 ,当然发送内容字段也是必须要有的。另外发送时间也是我们经常聊天中不可或缺的一个信息字段。为了判断接收方是否已经接收到聊天信息,若是接收了,那么下次用户上线后就不用继续取信息内容了。这里就需要一个标识字段用于每次来判断对方的接收信息情况。
综合以上信息我们创建数据库如下:
创建数据库chat:
create database chat;
设置数据库编码为gbk:
set names gbk;
创建数据表:
create table messages(
id int unsigned primary key auto_increment,
sender varchar(64) not null,
getter varchar(64) not null,
content varchar(3600) not null,
sendTime datetime not null,
isGet tinyint default 0
)
二、聊天室的设计
我们需要一个登陆页面(login.php):
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
</head>
<center>
<h1>欢迎登陆聊天室</h1>
<form action="LoginController.php" method="post">
用户名:<input type="text" name="username"/><br/>
密 码:<input type="password" name="passwd"/><br/>
<input type="submit" value="登陆聊天室"><br/>
</form>
</center>
</html>
登陆页面提交的信息我们需要对其进行处理,这里就需要一个控制器了(LoginController.php):
<?php
//接收用户名和密码
$loginUser=$_POST['username'];
$pwd=$_POST['passwd'];
//判断(因为没有用户表)
if($pwd=="123"){
//跳转到好友列表页面
header("Location:friendList.php");
}
else{
//不合法
header("Location:login.php");
}
?>
若是控制器判断登陆合法就要使该合法用户跳转到好友列表中(friendList.php):
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
</head>
<h1>好友列表</h1>
<ul>
<li>宋江</li>
<li>张飞</li>
<li>小倩</li>
</ul>
</html>
关键字词:ajax,聊天室,个人博客