模拟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 相关文章推荐
PHP3 safe_mode 失效漏洞
Oct 09 PHP
PHP Google的translate API代码
Dec 10 PHP
如何突破PHP程序员的技术瓶颈分析
Jul 17 PHP
php函数array_merge用法一例(合并同类数组)
Feb 03 PHP
关于ob_get_contents(),ob_end_clean(),ob_start(),的具体用法详解
Jun 24 PHP
PHP保留两位小数并且四舍五入及不四舍五入的方法
Sep 22 PHP
PHP自定session保存路径及删除、注销与写入的方法
Nov 18 PHP
php获取英文姓名首字母的方法
Jul 13 PHP
Zend Framework数据库操作方法实例总结
Dec 11 PHP
Yii全局函数用法示例
Jan 22 PHP
PHP正则+Snoopy抓取框架实现的抓取淘宝店信誉功能实例
May 17 PHP
PHP创建XML接口示例
Jul 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的正则处理函数总结分析
2008/06/20 PHP
mayfish 数据入库验证代码
2010/04/30 PHP
php截取中文字符串不乱码的方法
2013/12/25 PHP
ThinkPHP模板范围判断输出In标签与Range标签用法详解
2014/06/30 PHP
JavaScript isPrototypeOf和hasOwnProperty使用区别
2010/03/04 Javascript
jQuery动态添加 input type=file的实现代码
2012/06/14 Javascript
JQuery给元素添加/删除节点比如select
2013/04/02 Javascript
JSF中confirm弹出框的用法示例介绍
2014/01/07 Javascript
JQuery解析XML的方法小结
2016/04/02 Javascript
EasyUI布局 高度自适应
2016/06/04 Javascript
BootStrap Fileinput初始化时的一些参数
2016/12/30 Javascript
js 获取html5的data属性实现方法
2017/07/28 Javascript
js实现关闭网页出现是否离开提示
2017/12/07 Javascript
js判断文件类型大小并给出提示的实现方法
2018/01/03 Javascript
echarts实现地图定时切换散点与多图表级联联动详解
2018/08/07 Javascript
vee-validate vue 2.0自定义表单验证的实例
2018/08/28 Javascript
Vue可自定义tab组件用法实例
2019/10/24 Javascript
JS 获取文件后缀,判断文件类型(比如是否为图片格式)
2020/05/09 Javascript
python二分法实现实例
2013/11/21 Python
Python使用re模块实现信息筛选的方法
2018/04/29 Python
python3 打印输出字典中特定的某个key的方法示例
2019/07/06 Python
OpenCV+Python--RGB转HSI的实现
2019/11/27 Python
django模板获取list中指定索引的值方式
2020/05/14 Python
Scrapy框架介绍之Puppeteer渲染的使用
2020/06/19 Python
python super()函数的基本使用
2020/09/10 Python
Python如何使用ConfigParser读取配置文件
2020/11/12 Python
python中类与对象之间的关系详解
2020/12/16 Python
Jack Rogers官网:美国经典的女性鞋靴品牌
2019/09/04 全球购物
JAVA和C++的区别
2013/10/06 面试题
学校门卫岗位职责范本
2014/06/30 职场文书
群众路线领导班子四风对照检查材料
2014/09/27 职场文书
销售经理助理岗位职责
2015/04/13 职场文书
学校教学工作总结2015
2015/05/19 职场文书
Mysql基础知识点汇总
2021/05/26 MySQL
使用CSS设置滚动条样式
2022/01/18 HTML / CSS
详解flex:1什么意思
2022/07/23 HTML / CSS