模拟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版(2)
Oct 09 PHP
php+mysql事务rollback&amp;commit示例
Feb 08 PHP
基于php使用memcache存储session的详解
Jun 25 PHP
解决FastCGI 进程超过了配置的活动超时时限的问题
Jul 03 PHP
php 判断是否是中文/英文/数字示例代码
Sep 30 PHP
php实现分页工具类分享
Jan 09 PHP
thinkphp学习笔记之多表查询
Jul 28 PHP
PHP内存使用情况如何获取
Oct 10 PHP
非常经典的PHP文件上传类分享
May 15 PHP
PHP简单遍历对象示例
Sep 28 PHP
Laravel网站打开速度优化的方法汇总
Jul 16 PHP
PHP类的自动加载与命名空间用法实例分析
Jun 05 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
thinkphp3.0 模板中函数的使用
2012/11/13 PHP
laravel在中间件内生成参数并且传递到控制器中的2种姿势
2019/10/15 PHP
php操作redis数据库常见方法实例总结
2020/02/20 PHP
jQuery库与其他JS库冲突的解决办法
2010/02/07 Javascript
JavaScript 面向对象的之私有成员和公开成员
2010/05/04 Javascript
jquery链式操作的正确使用方法
2014/01/06 Javascript
js关于字符长度限制的问题示例探讨
2014/01/24 Javascript
JavaScript中string转换成number介绍
2014/12/31 Javascript
谈谈jQuery Ajax用法详解
2015/11/27 Javascript
AngularJs bootstrap搭载前台框架——基础页面
2016/09/01 Javascript
js正则表达式注册页面表单验证
2016/10/11 Javascript
JS+CSS3制作炫酷的弹窗效果
2016/11/08 Javascript
ES6 javascript中Class类继承用法实例详解
2017/10/30 Javascript
vue中使用protobuf的过程记录
2018/10/26 Javascript
微信小程序自定义modal弹窗组件的方法详解
2020/12/20 Javascript
js动态添加带圆圈序号列表的实例代码
2021/02/18 Javascript
[04:41]2014DOTA2国际邀请赛 Liquid顺利突围晋级正赛
2014/07/09 DOTA
Python列表(list)常用操作方法小结
2015/02/02 Python
python实现发送邮件功能
2017/07/22 Python
Python制作豆瓣图片的爬虫
2017/12/28 Python
解决python3 安装不了PIL的问题
2019/08/16 Python
Python数据可视化:幂律分布实例详解
2019/12/07 Python
Python Pickle 实现在同一个文件中序列化多个对象
2019/12/30 Python
python 成功引入包但无法正常调用的解决
2020/03/09 Python
Python执行时间的几种计算方法
2020/07/31 Python
DHC美国官网:日本通信销售第一的化妆品品牌
2017/11/12 全球购物
会计出纳岗位职责
2013/12/25 职场文书
殡葬服务心得体会
2014/09/11 职场文书
公司股东合作协议书
2014/09/14 职场文书
党的群众路线教育实践活动个人剖析材料
2014/10/07 职场文书
导游词欢迎词
2015/02/02 职场文书
在校证明模板
2015/06/17 职场文书
开票证明
2015/06/23 职场文书
2019学校请假条格式及范文
2019/06/25 职场文书
CSS 新特性 contain控制页面的重绘与重排问题
2021/04/30 HTML / CSS
基于Redis的List实现特价商品列表功能
2021/08/30 Redis