模拟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 08 PHP
非常精妙的PHP递归调用与静态变量使用
Dec 16 PHP
深入mysql_fetch_row()与mysql_fetch_array()的区别详解
Jun 05 PHP
php通过Chianz.com获取IP地址与地区的方法
Jan 14 PHP
laravel 5 实现模板主题功能(续)
Mar 02 PHP
PHP 二维数组和三维数组的过滤
Mar 16 PHP
php文件上传类完整实例
May 14 PHP
Yii2中DropDownList简单用法示例
Jul 18 PHP
PHP获取访问页面HTTP状态码的实现代码
Nov 03 PHP
Laravel框架实现的使用smtp发送邮件功能示例
Mar 12 PHP
PHP实现笛卡尔积算法的实例讲解
Dec 22 PHP
如何在Mac上通过docker配置PHP开发环境
May 29 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
第二节--PHP5 的对象模型
2006/11/16 PHP
php函数指定默认值方法的小例子
2013/12/04 PHP
thinkphp的URL路由规则与配置实例
2014/11/26 PHP
tp5 实现列表数据根据状态排序
2019/10/18 PHP
用js重建星际争霸
2006/12/22 Javascript
如何确保JavaScript的执行顺序 之jQuery.html并非万能钥匙
2011/03/03 Javascript
JavaScript对象之间的转换 jQuery对象和原声DOM
2011/03/07 Javascript
Kibo 用于处理键盘事件的Javascript工具库
2011/10/28 Javascript
jQuery focus和blur事件的应用详解
2014/01/26 Javascript
javascript跨浏览器的属性判断方法
2014/03/16 Javascript
JS实现局部选择打印和局部不选择打印
2014/04/03 Javascript
js跨域访问示例(客户端/服务端)
2014/05/19 Javascript
javascript移动设备Web开发中对touch事件的封装实例
2014/06/05 Javascript
JavaScript实现文字跟随鼠标特效
2015/08/06 Javascript
在Html中使用Requirejs进行模块化开发实例详解
2016/04/15 Javascript
jQuery Easyui学习教程之实现datagrid在没有数据时显示相关提示内容
2016/07/09 Javascript
jQuery实现圣诞节礼物传送(花式轮播)
2016/12/25 Javascript
ES6 class的应用实例分析
2019/06/27 Javascript
jQuery操作选中select下拉框的值代码实例
2020/02/07 jQuery
javascript实现扫雷简易版
2020/08/18 Javascript
javascript中layim之查找好友查找群组
2021/02/06 Javascript
python实现TCP服务器端与客户端的方法详解
2015/04/30 Python
python学生信息管理系统
2018/03/13 Python
拉斯维加斯酒店、演出、旅游、俱乐部及更多:Vegas.com
2019/02/28 全球购物
英国比较机场停车场网站:Airport Parking Essentials
2019/12/01 全球购物
西安众合通用.net笔试题
2013/03/18 面试题
Servlet如何得到客户端机器的信息
2014/10/17 面试题
你的创业计划书怎样才能打动风投
2014/02/06 职场文书
会计求职信
2014/05/29 职场文书
会计毕业生自荐书
2014/06/12 职场文书
视光学专业自荐信
2014/06/24 职场文书
七夕相亲活动策划方案
2014/08/31 职场文书
2014国庆节主题活动方案:快乐的国庆节
2014/09/16 职场文书
社区服务活动感想
2015/08/11 职场文书
追悼会家属答谢词
2015/09/29 职场文书
100句拼搏进取的名言警句,值得一读!
2019/10/07 职场文书