模拟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 cookie 登录验证示例代码
Mar 16 PHP
PHPMyAdmin 快速配置方法
May 11 PHP
网站用php实现paypal整合方法
Nov 28 PHP
使用PHP实现二分查找算法代码分享
Jun 24 PHP
PHP5.3的垃圾回收机制(动态存储分配方案)深入理解
Dec 10 PHP
php中stream(流)的用法
Mar 25 PHP
如何使用GDB调试PHP程序
Dec 08 PHP
PHP输出多个元素的排列或组合的方法
Mar 14 PHP
PHP基于简单递归函数求一个数阶乘的方法示例
Apr 26 PHP
PHP时间日期增减操作示例【date strtotime实现加一天、加一月等操作】
Dec 21 PHP
PHP观察者模式实例分析【对比JS观察者模式】
May 22 PHP
php png失真的原因及解决办法
Oct 24 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不用内置函数对数组排序的两个算法代码
2010/02/08 PHP
PHP编码转换
2012/11/05 PHP
php中删除字符串中最先出现某个字符的实现代码
2013/02/03 PHP
基于initPHP的框架介绍
2013/04/18 PHP
PHP的Yii框架中使用数据库的配置和SQL操作实例教程
2016/03/17 PHP
php实现多维数组排序的方法示例
2017/03/23 PHP
Gambit vs ForZe BO3 第一场 2.13
2021/03/10 DOTA
jquery 简单导航实现代码
2009/09/11 Javascript
查看图片(前进后退)功能实现js代码
2013/04/24 Javascript
基于JQuery实现图片轮播效果(焦点图)
2016/02/02 Javascript
js小数计算小数点后显示多位小数的实现方法
2016/05/30 Javascript
Bootstrap实现带动画过渡的弹出框
2016/08/09 Javascript
JavaScript实现动态增删表格的方法
2017/03/09 Javascript
Vue.js 实现微信公众号菜单编辑器功能(一)
2018/05/08 Javascript
微信小程序中限制激励式视频广告位显示次数(实现思路)
2019/12/06 Javascript
Vue中this.$nextTick的作用及用法
2020/02/04 Javascript
jquery实现聊天机器人
2020/02/08 jQuery
[07:03]显微镜下的DOTA2第九期——430圣堂刺客杀戮秀
2014/06/20 DOTA
python修改注册表终止360进程实例
2014/10/13 Python
Python 16进制与中文相互转换的实现方法
2018/07/09 Python
pycharm的python_stubs问题
2020/04/08 Python
使用PyQt5实现图片查看器的示例代码
2020/04/21 Python
python3访问字典里的值实例方法
2020/11/18 Python
python中re模块知识点总结
2021/01/17 Python
英国时尚家具、家居饰品及礼品商店:Graham & Green
2016/09/15 全球购物
布里斯班女装时尚品牌:Adrift
2017/12/28 全球购物
实习生个人找工作的自我评价
2013/10/30 职场文书
小学后勤管理制度
2014/01/14 职场文书
个人授权委托书范本
2014/09/14 职场文书
实习协议书范本
2014/09/25 职场文书
四风问题对照检查材料整改措施
2014/09/27 职场文书
2015年中学元旦晚会活动方案
2014/12/09 职场文书
在职证明书模板
2015/06/15 职场文书
Golang 编译成DLL文件的操作
2021/05/06 Golang
Netty结合Protobuf进行编解码的方法
2021/06/26 Java/Android
Java实战之课程信息管理系统的实现
2022/04/01 Java/Android