模拟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 相关文章推荐
在Windows版的PHP中使用ADO
Oct 09 PHP
PHP 网络开发详解之远程文件包含漏洞
Apr 25 PHP
php使用curl简单抓取远程url的方法
Mar 13 PHP
基于OpenCart 开发支付宝,财付通,微信支付参数错误问题
Oct 01 PHP
YII CLinkPager分页类扩展增加显示共多少页
Jan 29 PHP
Smarty高级应用之缓存操作技巧分析
May 14 PHP
ThinkPHP3.2.1图片验证码实现方法
Aug 19 PHP
关于PHP中协程和阻塞的一些理解与思考
Aug 11 PHP
PHP使用Nginx实现反向代理
Sep 20 PHP
Yii框架分页技术实例分析
Aug 30 PHP
Laravel框架中队列和工作(Queues、Jobs)操作实例详解
Apr 06 PHP
Git命令之分支详解
Mar 02 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
PHP-MySQL教程归纳总结
2008/06/07 PHP
PHP中使用TCPDF生成PDF文档实例
2014/07/01 PHP
PHP实现通过URL提取根域名
2016/03/31 PHP
PHP 超级全局变量相关总结
2020/06/30 PHP
javascript 鼠标拖动图标技术
2010/02/07 Javascript
基于jquery的鼠标拖动效果代码
2012/05/30 Javascript
无刷新预览所选择的图片示例代码
2014/04/02 Javascript
jQuery遍历之next()、nextAll()方法使用实例
2014/11/08 Javascript
Backbone.js 0.9.2 源码注释中文翻译版
2015/06/25 Javascript
jquery.validate提示错误信息位置方法
2016/01/22 Javascript
基于Vue.js实现简单搜索框
2020/03/26 Javascript
基于vue.js实现图片轮播效果
2016/12/01 Javascript
利用select实现年月日三级联动的日期选择效果【推荐】
2016/12/13 Javascript
JavaScript对象引用与赋值实例详解
2017/03/15 Javascript
Angular2 组件间通过@Input @Output通讯示例
2017/08/24 Javascript
详解Vue组件实现tips的总结
2017/11/01 Javascript
Angular动画实现的2种方式以及添加购物车动画实例代码
2018/08/09 Javascript
在AngularJs中设置请求头信息(headers)的方法及不同方法的比较
2018/09/04 Javascript
js实现筛选功能
2020/11/24 Javascript
微信小程序组件生命周期的踩坑记录
2021/03/03 Javascript
[03:40]DOTA2抗疫特别篇《英雄年代》
2020/02/28 DOTA
Python2和Python3中print的用法示例总结
2017/10/25 Python
详解Python 实现元胞自动机中的生命游戏(Game of life)
2018/01/27 Python
使用memory_profiler监测python代码运行时内存消耗方法
2018/12/03 Python
python自动生成model文件过程详解
2019/11/02 Python
python 实现多线程下载m3u8格式视频并使用fmmpeg合并
2019/11/15 Python
Python随机数函数代码实例解析
2020/02/09 Python
利用4行Python代码监测每一行程序的运行时间和空间消耗
2020/04/22 Python
Python matplotlib可视化实例解析
2020/06/01 Python
购买瑞典当代设计的腕表和太阳眼镜:TRIWA
2016/10/30 全球购物
业务经理岗位职责
2013/11/11 职场文书
入党自我评价优缺点
2014/01/25 职场文书
小学教师师德感言
2014/02/10 职场文书
小学端午节活动总结
2015/02/11 职场文书
一个成功的互联网创业项目,必须满足这些要求
2019/08/23 职场文书
vue3不同环境下实现配置代理
2022/05/25 Vue.js