模拟OICQ的实现思路和核心程序(一)


Posted in PHP onOctober 09, 2006

根据许多网友需求,特地把我站的这个模拟 OICQ 的在线聊天的东西献给大家!

1 用户必须注册登陆,在数据库 userinfo 里面保存如下几个字段
Name 不用问了,这是登陆用的用户名,必须唯一
Password 登陆密码
NickName 用户昵称,也就是显示的名字
Face 存放着用户头像的编号,比如 01,代表 /images/face/01.gif 头像文件
OnlineStatus 用户是否在线的标志,在用户登陆的时候设置为 1
CurrentDate 用户最后访问/更新的时间,用于判断用户是否在线

聊天纪录 forumtalk 的结构为
CREATE TABLE forumtalk (
id int(11) NOT NULL auto_increment,
sender varchar(20) NOT NULL,
receiver varchar(20) NOT NULL,
date int(11) DEFAULT '0' NOT NULL,
readsign tinyint(4) DEFAULT '0' NOT NULL,
body varchar(200) NOT NULL,
PRIMARY KEY (id),
UNIQUE id_2 (id),
KEY id (id)
);
其中 sender 是发送人的 Name
receiver 是接受人的 Name
date 是发言的时间
readsign 发言是否已经阅读过
body 发言内容

2 显示在线用户的头像
<?
$onlineresult = mysql_query("select Name,NickName,Face,EnterTimes from userinfo where OnlineStatus=1 and CurrentDate >".(date("U")-120));
$onlinenumber = mysql_num_rows($onlineresult);
echo "欢迎光临,共有:".$onlinenumber."位朋友在线,按头像发短信息:";
for($i=0;$i<$onlinenumber;$i++)
{
if(!$onlineuser = mysql_fetch_array($onlineresult))break;
echo "<a onClick=MM_openBrWindow('shortalk.php?talkto=".$onlineuser['Name']."','".$onlineuser['Name']."','width=300,height=250')><img src='images/face/".$onlineuser['Face'].".gif' width=20 height=20 ";
if($name == $onlineuser['Name'])echo "border=1 ";
echo " title='代号:".$onlineuser['Name']."\n昵称:".$onlineuser['NickName']."\n来访:".$onlineuser['EnterTimes']."'></a>";
}
?>

其中的 onClick 用于弹出发送消息的对话窗口,大家可以在网页的源代码里面看到 

PHP 相关文章推荐
PHP 高手之路(三)
Oct 09 PHP
php date()日期时间函数详解
May 16 PHP
php下使用iconv需要注意的问题
Nov 20 PHP
php顺序查找和二分查找示例
Mar 27 PHP
php获取网卡的MAC地址支持WIN/LINUX系统
Apr 30 PHP
php读取远程gzip压缩网页的方法
Dec 29 PHP
php使用类继承解决代码重复的问题
Feb 11 PHP
PHP获取数组的键与值方法小结
Jun 13 PHP
php上传大文件设置方法
Apr 14 PHP
基于PHP实现用户注册登录功能
Oct 14 PHP
php微信公众号开发之秒杀
Oct 20 PHP
php在linux环境中如何使用redis详解
Dec 15 PHP
PHP自动更新新闻DIY
Oct 09 #PHP
模拟OICQ的实现思路和核心程序(二)
Oct 09 #PHP
层叠菜单的动态生成
Oct 09 #PHP
多数据表共用一个页的新闻发布
Oct 09 #PHP
PHP与MySQL交互使用详解
Oct 09 #PHP
3种平台下安装php4经验点滴
Oct 09 #PHP
多重?l件?合查?(二)
Oct 09 #PHP
You might like
snoopy PHP版的网络客户端提供本地下载
2008/04/15 PHP
php函数mkdir实现递归创建层级目录
2016/10/27 PHP
PHP异常处理定义与使用方法分析
2017/07/25 PHP
thinkPHP5框架导出Excel文件简单操作示例
2018/08/03 PHP
php遍历目录下文件并按修改时间排序操作示例
2019/07/12 PHP
javascript 获取元素位置的快速方法 getBoundingClientRect()
2009/11/26 Javascript
基于jquery的实现简单的表格中增加或删除下一行
2010/08/01 Javascript
JS实现双击编辑可修改状态的方法
2015/08/14 Javascript
Node.js的Koa框架上手及MySQL操作指南
2016/06/13 Javascript
基本DOM节点操作
2017/01/17 Javascript
JavaScript之浏览器对象_动力节点Java学院整理
2017/07/03 Javascript
node-sass安装失败的原因与解决方法
2017/09/04 Javascript
微信小程序实现点击图片旋转180度并且弹出下拉列表
2018/11/27 Javascript
微信小程序收货地址API兼容低版本解决方法
2019/05/18 Javascript
node中实现删除目录的几种方法
2019/06/24 Javascript
使用react context 实现vue插槽slot功能
2019/07/18 Javascript
vue 通过绑定事件获取当前行的id操作
2020/07/27 Javascript
Python tkinter实现的图片移动碰撞动画效果【附源码下载】
2018/01/04 Python
python取代netcat过程分析
2018/02/10 Python
浅析python打包工具distutils、setuptools
2018/04/20 Python
python opencv 读取本地视频文件 修改ffmpeg的方法
2019/01/26 Python
Python正则表达式和re库知识点总结
2019/02/11 Python
HTML5的文档结构和新增标签完全解析
2017/04/21 HTML / CSS
解决HTML5中滚动到底部的事件问题
2019/08/22 HTML / CSS
Shopee越南:东南亚与台湾电商平台
2019/02/03 全球购物
美国家居用品和厨具购物网站:DealsDot
2019/10/07 全球购物
医学生自我鉴定范文
2013/11/08 职场文书
2014年两会学习心得体会
2014/03/10 职场文书
卖车协议书范本4篇
2014/10/01 职场文书
医务人员医德考评自我评价
2015/03/03 职场文书
护士实习自荐信
2015/03/06 职场文书
行政经理岗位职责
2015/04/15 职场文书
外出培训学习心得体会
2016/01/18 职场文书
《巨人的花园》教学反思
2016/02/19 职场文书
vue基于Teleport实现Modal组件
2021/05/31 Vue.js
Python 操作pdf pdfplumber读取PDF写入Exce
2022/08/14 Python