模拟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 相关文章推荐
中国站长站 For Dede4.0 采集规则
May 27 PHP
php 获得汉字拼音首字母的函数
Aug 01 PHP
用PHP实现读取和编写XML DOM代码
Apr 07 PHP
php判断变量类型常用方法
Apr 24 PHP
解析php中反射的应用
Jun 18 PHP
php strrpos()与strripos()函数
Aug 31 PHP
浅谈使用 PHP 进行手机 APP 开发(API 接口开发)
Aug 11 PHP
PHP中的traits实现代码复用使用实例
May 13 PHP
php封装的连接Mysql类及用法分析
Dec 10 PHP
删除PHP数组中的重复元素的实现代码
Apr 10 PHP
php提取微信账单的有效信息
Oct 01 PHP
关于PHP虚拟主机概念及如何选择稳定的PHP虚拟主机
Nov 20 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
图解上海144收音机
2021/03/02 无线电
发布一个用PHP fsockopen写的HTTP下载的类
2007/02/22 PHP
收集的DedeCMS一些使用经验
2007/03/17 PHP
实用函数8
2007/11/08 PHP
PHP+Mysql+jQuery实现发布微博程序 php篇
2015/10/15 PHP
PHP+Ajax实现上传文件进度条动态显示进度功能
2018/06/04 PHP
fix-ie5.js扩展在IE5下不能使用的几个方法
2007/08/20 Javascript
jQuery 浮动广告实现代码
2008/12/25 Javascript
JS 有名函数表达式全面解析
2010/03/19 Javascript
JavaScript中的noscript元素属性位置及作用介绍
2013/04/11 Javascript
基于Vue2.0+ElementUI实现表格翻页功能
2017/10/23 Javascript
vue select组件的使用与禁用实现代码
2018/04/10 Javascript
js实现鼠标单击Tab表单切换效果
2018/05/16 Javascript
小程序自定义组件实现城市选择功能
2018/07/18 Javascript
Vue Router去掉url中默认的锚点#
2018/08/01 Javascript
vue-router的两种模式的区别
2019/05/30 Javascript
javascript异步处理与Jquery deferred对象用法总结
2019/06/04 jQuery
react+redux仿微信聊天界面
2019/06/21 Javascript
[01:11]回顾历届DOTA2国际邀请赛中国区预选赛
2017/06/26 DOTA
Python实现判断一个字符串是否包含子串的方法总结
2017/11/21 Python
解决python中使用plot画图,图不显示的问题
2018/07/04 Python
Python 读写文件的操作代码
2018/09/20 Python
python使用thrift教程的方法示例
2019/03/21 Python
Python求离散序列导数的示例
2019/07/10 Python
Django中的静态文件管理过程解析
2019/08/01 Python
TensorFlow的reshape操作 tf.reshape的实现
2020/04/19 Python
查看keras的默认backend实现方式
2020/06/19 Python
Python Selenium模块安装使用教程详解
2020/07/09 Python
pycharm 配置svn的图文教程(手把手教你)
2021/01/15 Python
HTML5地理定位与第三方工具百度地图的应用
2016/11/17 HTML / CSS
html5 桌面提醒:Notifycations应用介绍
2012/11/27 HTML / CSS
后勤园长自我鉴定
2013/10/17 职场文书
平面设计求职信
2014/03/10 职场文书
《乡下孩子》教学反思
2014/04/17 职场文书
大学生志愿者活动总结
2014/06/27 职场文书
想创业成功,需要掌握这些要点
2019/12/06 职场文书