模拟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
解析phpstorm + xdebug 远程断点调试
Jun 20 PHP
使用php判断网页是否gzip压缩
Jun 25 PHP
PHP遍历某个目录下的所有文件和子文件夹的实现代码
Jun 28 PHP
PHP处理SQL脚本文件导入到MySQL的代码实例
Mar 17 PHP
PHP内置过滤器FILTER使用实例
Jun 25 PHP
PHP中preg_match正则匹配中的/u、/i、/s含义
Apr 17 PHP
实现WordPress主题侧边栏切换功能的PHP脚本详解
Dec 14 PHP
Yii2框架数据库简单的增删改查语法小结
Aug 31 PHP
php头像上传预览实例代码
May 02 PHP
PHP 访问数据库配置通用方法(json)
May 20 PHP
PHP封装类似thinkphp连贯操作数据库Db类与简单应用示例
May 08 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+UTF8多文件上传类
2008/10/17 PHP
php fsockopen中多线程问题的解决办法[翻译]
2011/11/09 PHP
wamp安装后自定义配置的方法
2014/08/23 PHP
php实现的网络相册图片防盗链完美破解方法
2015/07/01 PHP
PHP7.0安装笔记整理
2015/08/28 PHP
laravel5.6 框架邮件队列database驱动简单demo示例
2020/01/26 PHP
深入理解JavaScript系列(45):代码复用模式(避免篇)详解
2015/03/04 Javascript
jquery trigger实现联动的方法
2016/02/29 Javascript
基于Bootstrap实现tab标签切换效果
2020/04/15 Javascript
jQuery解决$符号命名冲突
2016/06/18 Javascript
AngularJs  Creating Services详解及示例代码
2016/09/02 Javascript
js动态生成form 并用ajax方式提交的实现方法
2016/09/09 Javascript
微信小程序 video组件详解
2016/10/25 Javascript
读Javascript高性能编程重点笔记
2016/12/21 Javascript
微信小程序 蓝牙的实现实例代码
2017/06/27 Javascript
本地存储localStorage用法详解
2017/07/31 Javascript
JavaScript中set与get方法用法示例
2018/08/15 Javascript
基于Vue实现的多条件筛选功能的详解(类似京东和淘宝功能)
2019/05/07 Javascript
详解ES6 export default 和 import语句中的解构赋值
2019/05/28 Javascript
浅谈TypeScript 用 Webpack/ts-node 运行的配置记录
2019/10/11 Javascript
构建一个JavaScript插件系统
2020/10/20 Javascript
Python中的类与对象之描述符详解
2015/03/27 Python
python对json的相关操作实例详解
2017/01/04 Python
磁盘垃圾文件清理器python代码实现
2020/08/24 Python
python 实现对数据集的归一化的方法(0-1之间)
2018/07/17 Python
利用Python正则表达式过滤敏感词的方法
2019/01/21 Python
Python面向对象实现一个对象调用另一个对象操作示例
2019/04/08 Python
python and or用法详解
2019/06/26 Python
Window系统下Python如何安装OpenCV库
2020/03/05 Python
Python用类实现扑克牌发牌的示例代码
2020/06/01 Python
纯CSS和jQuery实现的在页面顶部显示的进度条效果2例(仿手机浏览器进度条效果)
2014/04/16 HTML / CSS
大学老师推荐信
2014/02/25 职场文书
导师推荐信范文
2014/05/09 职场文书
综治工作心得体会
2014/09/11 职场文书
再次探讨go实现无限 buffer 的 channel方法
2021/06/13 Golang
MySQL数据库之存储过程 procedure
2022/06/16 MySQL