模拟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编码规范-php coding standard
Mar 16 PHP
php adodb介绍
Mar 19 PHP
PHP常用技巧总结(附函数代码)
Feb 04 PHP
兼容ie6浏览器的php下载文件代码分享
Jul 14 PHP
php防止网站被刷新的方法汇总
Dec 01 PHP
CodeIgniter中使用Smarty3基本配置
Jun 29 PHP
php禁用cookie后session设置方法分析
Oct 19 PHP
老生常谈文本文件和二进制文件的区别
Feb 27 PHP
php实现基于PDO的预处理示例
Mar 28 PHP
PHP实现QQ登录的开原理和实现过程
Feb 04 PHP
PHP中的self关键字详解
Jun 23 PHP
Yii框架核心组件类实例详解
Aug 06 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字符串 ==比较运算符的副作用
2009/10/21 PHP
php中current、next与reset函数用法实例
2014/11/17 PHP
PHP生成加减算法方式的验证码实例
2018/03/12 PHP
Laravel框架模型的创建及模型对数据操作示例
2019/05/07 PHP
Jquery实战_读书笔记2 选择器
2010/01/22 Javascript
jqgrid 简单学习笔记
2011/05/03 Javascript
Javacript实现颜色梯度变化和渐变的效果代码
2013/05/31 Javascript
Javascript简单实现面向对象编程继承实例代码
2015/11/27 Javascript
javascript 判断当前浏览器版本并判断ie版本
2017/02/17 Javascript
JS打开摄像头并截图上传示例
2017/02/18 Javascript
在React中如何优雅的处理事件响应详解
2017/07/24 Javascript
详解node+express+ejs+bootstrap构建项目
2017/09/27 Javascript
Angular2 父子组件通信方式的示例
2018/01/29 Javascript
nodejs更改项目端口号的方法
2018/05/13 NodeJs
基于JS实现带动画效果的流程进度条
2018/06/01 Javascript
layer.alert回调函数执行关闭弹窗的实例
2019/09/11 Javascript
vue学习笔记之过滤器的基本使用方法实例分析
2020/02/01 Javascript
webpack.DefinePlugin与cross-env区别详解
2020/02/23 Javascript
基于vue实现探探滑动组件功能
2020/05/29 Javascript
[02:12]DOTA2英雄基础教程 变体精灵
2013/12/16 DOTA
Python检测一个对象是否为字符串类的方法
2015/05/21 Python
python中的变量如何开辟内存
2018/06/26 Python
python实现K近邻回归,采用等权重和不等权重的方法
2019/01/23 Python
opencv3/C++实现视频读取、视频写入
2019/12/11 Python
IronPython连接MySQL的方法步骤
2019/12/27 Python
Python面向对象程序设计之类和对象、实例变量、类变量用法分析
2020/03/23 Python
django列表筛选功能的实现代码
2020/03/27 Python
Django基于客户端下载文件实现方法
2020/04/21 Python
KOHLER科勒美国官网:国际著名卫浴橱柜领先品牌
2020/06/27 全球购物
介绍一下Java中的static关键字
2012/05/12 面试题
公司开业庆典策划方案
2014/06/04 职场文书
买房子个人收入证明
2014/10/12 职场文书
2015年劳动部工作总结
2015/05/23 职场文书
《槐乡的孩子》教学反思
2016/02/20 职场文书
个人售房合同协议书
2016/03/21 职场文书
Windows Server 2016服务器用户管理及远程授权图文教程
2022/08/14 Servers