模拟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 google或baidu分页代码
Nov 26 PHP
php抓取页面的几种方法详解
Jun 17 PHP
php页面防重复提交方法总结
Nov 25 PHP
php中的mongodb select常用操作代码示例
Sep 06 PHP
ThinkPHP中处理表单中的注意事项
Nov 22 PHP
php提取字符串中网站url地址的方法
Dec 03 PHP
2014最热门的24个php类库汇总
Dec 18 PHP
总结PHP如何获取当前主机、域名、网址、路径、端口和参数等
Sep 09 PHP
PHP 二维关联数组根据其中一个字段排序(推荐)
Apr 04 PHP
MAC下通过改apache配置文件切换php多版本的方法
Apr 26 PHP
PHP基于IMAP收取邮件的方法示例
Aug 07 PHP
使用PHPStorm+XDebug搭建单步调试环境
Nov 19 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
IIS6+PHP5+MySQL5+Zend Optimizer+phpMyAdmin安装配置图文教程 2009年
2009/06/08 PHP
php 连接mysql连接被重置的解决方法
2011/02/15 PHP
php数组函数序列之array_flip() 将数组键名与值对调
2011/11/07 PHP
CI框架源码阅读,系统常量文件constants.php的配置
2013/02/28 PHP
php进行支付宝开发中return_url和notify_url的区别分析
2014/12/22 PHP
PHP验证码无法显示的原因及解决办法
2017/08/11 PHP
PHP 扩展Memcached命令用法实例总结
2020/06/04 PHP
初学prototype,发个JS接受URL参数的代码
2006/09/25 Javascript
javascript 面向对象编程基础:封装
2009/08/21 Javascript
jquery的Tooltip插件 qtip使用详细说明
2010/09/08 Javascript
使用jQuery模板来展现json数据的代码
2010/10/22 Javascript
用XMLDOM和ADODB.Stream实现base64编码解码实现代码
2010/11/28 Javascript
最佳的addEvent事件绑定是怎样诞生的
2011/10/24 Javascript
给html超链接设置事件不使用href来完成跳
2014/04/20 Javascript
javascript与jquery中的this关键字用法实例分析
2015/12/24 Javascript
js HTML5多媒体影音播放
2016/10/17 Javascript
JS组件系列之Gojs组件 前端图形化插件之利器
2017/11/29 Javascript
vue将时间戳转换成自定义时间格式的方法
2018/03/02 Javascript
浅谈vue异步数据影响页面渲染
2019/10/29 Javascript
python实现k均值算法示例(k均值聚类算法)
2014/03/16 Python
Python yield 小结和实例
2014/04/25 Python
Python实现快速排序和插入排序算法及自定义排序的示例
2016/02/16 Python
python利用dir函数查看类中所有成员函数示例代码
2017/09/08 Python
python实现美团订单推送到测试环境,提供便利操作示例
2019/08/09 Python
Pyqt5自适应布局实例
2019/12/13 Python
Python 格式化打印json数据方法(展开状态)
2020/02/27 Python
捷克体育用品购物网站:D-sport
2017/12/28 全球购物
俄罗斯韩国化妆品网上商店:Cosmasi.ru
2019/10/31 全球购物
舞蹈教育学专业推荐信
2013/11/27 职场文书
园林设计专业毕业生求职信
2014/03/23 职场文书
知识竞赛主持词
2014/03/26 职场文书
承诺书范本
2015/01/21 职场文书
杭白菊导游词
2015/02/10 职场文书
2015年八一建军节活动总结
2015/03/20 职场文书
Python实现双向链表
2022/05/25 Python
使用CSS实现六边形的图片效果
2022/08/05 HTML / CSS