模拟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安全配置
Oct 09 PHP
APMServ使用说明
Oct 23 PHP
php5.3不能连接mssql数据库的解决方法
Dec 27 PHP
PHP微信开发之二维码生成类
Jun 26 PHP
PHP如何将XML转成数组
Apr 04 PHP
PHP实现的网站目录扫描索引工具
Sep 08 PHP
PHP数组生成XML格式数据的封装类实例
Nov 10 PHP
PHP中STDCLASS用法实例分析
Nov 11 PHP
php制作圆形用户头像的实例_自定义封装类源代码
Sep 18 PHP
完美的php分页类
Oct 24 PHP
如何在centos8自定义目录安装php7.3
Nov 28 PHP
PHP设计模式之组合模式定义与应用示例
Feb 01 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/06/01 PHP
PHP和JAVA中的重载(overload)和覆盖(override) 介绍
2012/03/01 PHP
PHP中批量生成静态html(命令行下运行PHP)
2014/04/19 PHP
PHP+jQuery+Ajax实现用户登录与退出
2015/04/27 PHP
thinkphp隐藏index.php/home并允许访问其他模块的实现方法
2016/10/13 PHP
javascript DOM编程实例(智播客学习)
2009/11/23 Javascript
jQuery+CSS 实现的超Sexy下拉菜单
2010/01/17 Javascript
Javascript 面向对象编程(coolshell)
2012/03/18 Javascript
js验证电话号码与手机支持+86的正则表达式
2014/01/23 Javascript
JavaScript实现DIV层拖动及动态增加新层的方法
2015/05/12 Javascript
JQuery boxy插件在IE中边角图片不显示问题的解决
2015/05/20 Javascript
Jquery实现select multiple左右添加和删除功能的简单实例
2016/05/26 Javascript
js图片切换具体实现代码
2016/10/13 Javascript
ES6概念 Symbol.keyFor()方法
2016/12/25 Javascript
d3绘制基本的柱形图的实现代码
2018/12/12 Javascript
基于ssm框架实现layui分页效果
2019/07/27 Javascript
python中reduce()函数的使用方法示例
2017/09/29 Python
Python判断变量名是否合法的方法示例
2019/01/28 Python
django配置app中的静态文件步骤
2020/03/27 Python
HTML5播放实现rtmp流直播
2020/06/16 HTML / CSS
德国大型的家具商店:Pharao24.de
2016/10/02 全球购物
印度婴儿用品在线商店:Firstcry.com
2016/12/05 全球购物
自我鉴定范文200字
2013/10/02 职场文书
网游商务专员求职信
2013/10/15 职场文书
考博专家推荐信模板
2013/12/02 职场文书
小加工厂管理制度
2014/01/21 职场文书
11月升旗仪式讲话稿
2014/02/15 职场文书
电焊工岗位职责
2014/03/06 职场文书
幼教求职信
2014/03/12 职场文书
教师党员承诺书
2014/03/25 职场文书
村班子对照检查材料
2014/08/18 职场文书
三好学生评语大全
2014/12/29 职场文书
未婚证明范本
2015/06/15 职场文书
2019奶茶店创业计划书范本,值得你借鉴
2019/08/14 职场文书
Django migrate报错的解决方案
2021/05/20 Python
Python中的嵌套循环详情
2022/03/23 Python