模拟OICQ的实现思路和核心程序(三)


Posted in PHP onOctober 09, 2006

5 聊天信息的发送、阅读和回复程序 - shortalk.php

<?
require("require.php"); // 判断用户是否合法在线的公用程序
?>
<html>
<head>
<title>短信息</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style type="text/css">
td {font-size:9pt}
</style>
<script language="Javascript">
<!--
function docheck() {
if (document.sendmsg.replymessage.value=="") {
alert("缺少内容:需要输入您的留言内容");
document.sendmsg.replymessage.focus();
return(false);
}
return (true);
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
window.open(theURL,winName,features);
}
//-->
</script>
</head>

<body bgcolor="#DDDDFF"leftmargin="0" topmargin="0" background="phpchat_images/cloudtile.jpg">
<?
if($action == "view")
{
$tmp = mysql_fetch_array(mysql_query("select sender,body,date from forumtalk where id=$talknumber and receiver='$name'"));
$msg = $tmp['body'];
$message = ereg_replace("
","\r\n",$msg);
mysql_query("update forumtalk set readsign=1 where id=$talknumber");
$sendernickname = mysql_fetch_row(mysql_query("select nickname from userinfo where name='".$tmp['sender']."'"));
?>
<table width="300" border="0" cellspacing="0" cellpadding="0" height="200" bgcolor="f0f0f0">
<tr>
<td colspan="2" height="20" bgcolor="99cc99" align="center">查看短信息</td>
</tr>
<tr>
<td colspan="2" height="20"><?echo date("m月d日 h:i",$tmp['date'])." ".$sendernickname[0]?> 给你[<?echo $name?>]留言:</td>
</tr>
<form name=viewtalk action=shortalk.php method=post>
<input type=hidden name=talkto value=<?echo $tmp['sender']?>>
<input type=hidden name=action value=send>
<input type=hidden name=talknumber value=<?print($talknumber)?>>
<tr align="center">
<td colspan="2" height="146" valign="top">
<textarea name="textfield" cols="40" rows="11" readonly><?print($message)?></textarea>
</td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" name="toreply" value="回复留言 Enter">
<a href="#" onClick="MM_openBrWindow('memberviewtalk.php?talkto=<?echo $tmp['sender']?>','viewtalk','scrollbars=yes')">聊天纪录</a> </td>
</tr>
</form>
</table>
<script language="Javascript">
document.viewtalk.toreply.focus();
</script>
<?
}
else if ($action == "sendbegin")
{
$replymessage = ereg_replace("\r\n","
",$replymessage);
$replymessage = ereg_replace(">",">",$replymessage);
$replymessage = ereg_replace("<","<",$replymessage);
$replymessage = substr($replymessage,0,2000);
mysql_query("insert into forumtalk (sender,receiver,body,date) values ('$name','$talkto','$replymessage',".date("U").")");
print("<script language='javascript'>window.close()</script>");
}
else
{
?>
<table width="300" border="0" cellspacing="0" cellpadding="0" height="200" bgcolor="f0f0f0">
<form name=sendmsg action=shortalk.php method=post OnSubmit=return(docheck());>
<input type=hidden name=action value=sendbegin>
<tr align="center">
<td colspan="2" height="20" bgcolor="99cc99">发送短信息</td>
</tr>
<tr align="center">
<td colspan="2" height="20">发言对象:
<select name="talkto">
<?
$result = mysql_query("select name,nickname from userinfo where onlinestatus=1");
while($msg=mysql_fetch_array($result))
{
if($msg['name']==$talkto)
echo "<option value='".$msg['name']."' selected>".$msg['nickname']."</option>\n";
else
echo "<option value='".$msg['name']."'>".$msg['nickname']."</option>\n";
}
?>
</select>
请短于500字符 </td>
</tr>
<tr align="center">
<td colspan="2" height="146" valign="top">
<textarea name="replymessage" cols="40" rows="9"></textarea>
</td>
</tr>
<tr align="center">
<td colspan="4">
<?
if($talknumber != "")
{
print("<input type=button name=review value='查看前一留言 Alt+P' accesskey='p' onClick='javascript:history.go(-1)'>");
}
?>
<input type="submit" name="reply" value="开始新的发送留言 Alt+S" accesskey='s'>
<a href="#" onClick="MM_openBrWindow('memberviewtalk.php?talkto=<?echo $talkto?>','viewtalk','scrollbars=yes')">聊天纪录</a></td>
</tr>
</form>
</table>
<script language="Javascript">
document.sendmsg.replymessage.focus();
</script>
<?
}
?>
</body>
</html> 

PHP 相关文章推荐
详解PHP显示MySQL数据的三种方法
Jun 05 PHP
php 数学运算验证码实现代码
Oct 11 PHP
PHP下编码转换函数mb_convert_encoding与iconv的使用说明
Dec 16 PHP
php使浏览器直接下载pdf文件的方法
Nov 15 PHP
PHP 动态生成静态HTML页面示例代码
Jan 15 PHP
php安装swoole扩展的方法
Mar 19 PHP
PHP对文件夹递归执行chmod命令的方法
Jun 19 PHP
apache和PHP如何整合在一起
Oct 12 PHP
php判断邮箱地址是否存在的方法
Feb 13 PHP
php设计模式之装饰模式应用案例详解
Jun 17 PHP
php计数排序算法的实现代码(附四个实例代码)
Mar 31 PHP
swoole锁的机制代码实例讲解
Mar 04 PHP
模拟OICQ的实现思路和核心程序(一)
Oct 09 #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
You might like
上海无线电三厂简史修改版
2021/03/01 无线电
php生成随机密码的几种方法
2011/01/17 PHP
十个PHP高级应用技巧果断收藏
2015/09/25 PHP
详解PHP的Yii框架中日志的相关配置及使用
2015/12/08 PHP
Jquery ajax传递复杂参数给WebService的实现代码
2011/08/08 Javascript
基于jquery实现拆分姓名的方法(纯JS版)
2013/05/08 Javascript
Extjs单独定义各组件的实例代码
2013/06/25 Javascript
基于JavaScript 下namespace 功能的简单分析
2013/07/05 Javascript
js中hash和ico的关联分析
2015/02/05 Javascript
JavaScript中的标签语句用法分析
2015/02/10 Javascript
JavaScript中的this关键字使用方法总结
2015/03/13 Javascript
分享一个精简的vue.js 图片lazyload插件实例
2017/03/13 Javascript
React-Native中禁用Navigator手势返回的示例代码
2017/09/09 Javascript
Vue v2.4中新增的$attrs及$listeners属性使用教程
2018/01/08 Javascript
Node.js笔记之process模块解读
2018/05/31 Javascript
谈谈为什么你的 JavaScript 代码如此冗长
2019/01/30 Javascript
实现高性能javascript的注意事项
2019/05/27 Javascript
vue - vue.config.js中devServer配置方式
2019/10/30 Javascript
Vue中Table组件行内右键菜单实现方法(基于 vue + AntDesign)
2019/11/21 Javascript
javascript全局自定义鼠标右键菜单
2020/12/08 Javascript
Python内置函数bin() oct()等实现进制转换
2012/12/30 Python
基于asyncio 异步协程框架实现收集B站直播弹幕
2016/09/11 Python
python 遍历字符串(含汉字)实例详解
2017/04/04 Python
Python和Java进行DES加密和解密的实例
2018/01/09 Python
python中plot实现即时数据动态显示方法
2018/06/22 Python
python实现简单tftp(基于udp协议)
2018/07/30 Python
pycharm运行程序时在Python console窗口中运行的方法
2018/12/03 Python
Python 获取主机ip与hostname的方法
2018/12/17 Python
python爬虫学习笔记之pyquery模块基本用法详解
2020/04/09 Python
python压包的概念及实例详解
2021/02/17 Python
如何进行Linux分区优化
2016/09/13 面试题
剪枝的学问教学反思
2014/02/07 职场文书
求职自荐信怎么写
2014/03/06 职场文书
常务副总经理岗位职责
2014/04/12 职场文书
总经理助理岗位职责范本
2015/03/31 职场文书
在SQL Server中使用 Try Catch 处理异常的示例详解
2022/07/15 SQL Server