模拟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中长文章分页显示实现代码
Sep 29 PHP
深入php var_dump()函数的详解
Jun 05 PHP
php读取文件内容的几种方法详解
Jun 26 PHP
php结合正则批量抓取网页中邮箱地址
May 19 PHP
php数组比较实现查找连续数的方法
Jul 29 PHP
PHP设计模式之简单投诉页面实例
Feb 24 PHP
深入理解PHP 数组之count 函数
Jun 13 PHP
PHP实现的随机IP函数【国内IP段】
Jul 20 PHP
Centos7 Yum安装PHP7.2流程教程详解
Jul 02 PHP
PHP+redis实现微博的拉模型案例详解
Jul 10 PHP
设定php简写功能的方法
Nov 28 PHP
PHP 扩展Memcached命令用法实例总结
Jun 04 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
谈谈PHP语法(5)
2006/10/09 PHP
php无限极分类递归排序实现方法
2014/11/11 PHP
PHP使用ODBC连接数据库的方法
2015/07/18 PHP
基于thinkPHP框架实现留言板的方法
2016/10/17 PHP
php格式文件打开的四种方法
2018/02/24 PHP
jquery 元素控制(追加元素/追加内容)介绍及应用
2013/04/21 Javascript
iframe的onreadystatechange事件在firefox下的使用
2014/04/16 Javascript
Javascript实现单张图片浏览
2014/12/18 Javascript
JQuery ztree带筛选、异步加载实例讲解
2016/02/25 Javascript
详解nodejs微信公众号开发——2.自动回复
2017/04/10 NodeJs
详解vee-validate的使用个人小结
2017/06/07 Javascript
Easy UI动态树点击文字实现展开关闭功能
2017/09/30 Javascript
浅谈vue中使用图片懒加载vue-lazyload插件详细指南
2017/10/23 Javascript
小程序关于请求同步的总结
2019/05/05 Javascript
react antd表格中渲染一张或多张图片的实例
2020/10/28 Javascript
[57:31]DOTA2-DPC中国联赛 正赛 SAG vs CDEC BO3 第一场 2月1日
2021/03/11 DOTA
python迭代器与生成器详解
2016/03/10 Python
Python 内置函数complex详解
2016/10/23 Python
Python常用内置模块之xml模块(详解)
2017/05/23 Python
python中in在list和dict中查找效率的对比分析
2018/05/04 Python
程序员写Python时的5个坏习惯,你有几条?
2018/11/26 Python
python 使用plt画图,去除图片四周的白边方法
2019/07/09 Python
Python中Qslider控件实操详解
2021/02/20 Python
Python 求向量的余弦值操作
2021/03/04 Python
linux面试题参考答案(5)
2016/11/05 面试题
迎八一活动主题
2014/01/31 职场文书
广告创意求职信
2014/03/17 职场文书
王老吉广告词
2014/03/20 职场文书
助人为乐好少年事迹材料
2014/08/18 职场文书
党的群众路线教育实践活动个人对照检查剖析材料
2014/09/23 职场文书
离婚答辩状范文
2015/05/22 职场文书
求职自我评价参考范文
2019/05/16 职场文书
python实战之一步一步教你绘制小猪佩奇
2021/04/22 Python
frg-100简单操作(设置)说明
2022/04/05 无线电
《英雄联盟》2022日蚀、月蚀皮肤演示 黑潮亚索曝光
2022/04/13 其他游戏
java实现web实时消息推送的七种方案
2022/07/23 Java/Android