模拟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的session cookie错误
Aug 09 PHP
深入了解 register_globals (附register_globals=off 网站打不开的解决方法)
Jun 27 PHP
PHP获取windows登录用户名的方法
Jun 24 PHP
php使用pdo连接并查询sql数据库的方法
Dec 24 PHP
PHP多文件上传类实例
Mar 07 PHP
php集成动态口令认证
Jul 21 PHP
浅谈PHP定义命令空间的几个注意点(推荐)
Oct 29 PHP
PHP+mysql实现从数据库获取下拉树功能示例
Jan 06 PHP
浅谈PHP接入(第三方登录)QQ登录 OAuth2.0 过程中遇到的坑
Oct 13 PHP
PHP中实现中文字串截取无乱码的解决方法
May 29 PHP
php判断/计算闰年的方法小结【三种方法】
Jul 06 PHP
PHP实现发送微博消息功能完整示例
Dec 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下获取客户端ip地址的函数
2010/03/15 PHP
Codeigniter中禁止A Database Error Occurred错误提示的方法
2014/06/12 PHP
PHP实现将科学计数法转换为原始数字字符串的方法
2014/12/16 PHP
PHP大神的十大优良习惯
2016/09/14 PHP
基于jQuery的消息提示插件之旅 DivAlert(三)
2010/04/01 Javascript
关于文本框的一些限制控制总结~~
2010/04/15 Javascript
js中用window.open()打开多个窗口的name问题
2014/03/13 Javascript
jQuery实现的可编辑表格完整实例
2016/06/20 Javascript
javascript 使用正则test( )第一次是 true,第二次是false
2017/02/22 Javascript
详解从Node.js的child_process模块来学习父子进程之间的通信
2017/03/27 Javascript
webpack+vue2构建vue项目骨架的方法
2018/01/09 Javascript
JS中touchstart事件与click事件冲突的解决方法
2018/03/12 Javascript
小程序tab页无法传递参数的方法
2018/08/03 Javascript
NodeJs操作MongoDB教程之分页功能以及常见问题
2019/04/09 NodeJs
angularjs自定义过滤器demo示例
2019/08/24 Javascript
JavaScript实现单点登录的示例
2020/09/23 Javascript
Django中Forms的使用代码解析
2018/02/10 Python
Python二叉搜索树与双向链表转换算法示例
2019/03/02 Python
Python数据分析库pandas高级接口dt的使用详解
2020/12/11 Python
python中函数返回多个结果的实例方法
2020/12/16 Python
完美解决torch.cuda.is_available()一直返回False的玄学方法
2021/02/06 Python
CSS3五个技巧给你的网站带来出色的效果
2009/04/02 HTML / CSS
用纯css3实现的图片放大镜特效效果非常不错
2014/09/02 HTML / CSS
CSS3实现文字波浪线效果示例代码
2016/11/20 HTML / CSS
10种CSS3实现的loading动画,挑一个走吧?
2020/11/16 HTML / CSS
HTML5移动开发图片压缩上传功能
2016/11/09 HTML / CSS
params有什么用
2016/03/01 面试题
培训演讲稿范文
2014/01/12 职场文书
园林专业毕业生自荐信
2014/07/04 职场文书
党的群众路线对照检查材料范文
2014/09/24 职场文书
2014年艾滋病防治工作总结
2014/12/10 职场文书
酒店保洁员岗位职责
2015/02/26 职场文书
建筑质检员岗位职责
2015/04/08 职场文书
小学生表扬稿范文
2015/05/05 职场文书
CAD实训总结范文
2015/08/03 职场文书
彻底理解golang中什么是nil
2021/04/29 Golang