模拟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 相关文章推荐
用DBSQL类加快开发MySQL数据库程序的速度
Oct 09 PHP
WINDOWS下php5.2.4+mysql6.0+apache2.2.4+ZendOptimizer-3.3.0配置
Mar 28 PHP
fleaphp crud操作之findByField函数的使用方法
Apr 23 PHP
php session安全问题分析
Jun 24 PHP
php伪静态之APACHE篇
Jun 02 PHP
采用memcache在web集群中实现session的同步会话
Jul 05 PHP
PHP SPL标准库之数据结构栈(SplStack)介绍
May 12 PHP
基于PHP代码实现中奖概率算法可用于刮刮卡、大转盘等抽奖算法
Dec 20 PHP
php中替换字符串函数strtr()和str_repalce()的用法与区别
Nov 25 PHP
Laravel框架实现利用中间件进行操作日志记录功能
Jun 06 PHP
PHP-FPM和Nginx的通信机制详解
Feb 01 PHP
Laravel使用RabbitMQ的方法示例
Jun 18 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
file_get_contents获取不到网页内容的解决方法
2013/03/07 PHP
Drupal读取Excel并导入数据库实例
2014/03/02 PHP
php中time()与$_SERVER[REQUEST_TIME]用法区别
2014/11/19 PHP
PHP第三方登录―QQ登录实现方法
2017/02/06 PHP
PHP解耦的三重境界(浅谈服务容器)
2017/03/13 PHP
laravel 错误处理,接口错误返回json代码
2019/10/25 PHP
通过javascript的匿名函数来分析几段简单有趣的代码
2010/06/29 Javascript
20行代码实现的一个CSS覆盖率测试脚本
2013/07/07 Javascript
jQuery响应enter键的实现思路
2014/04/18 Javascript
javascript实例分享---具有立体效果的图片特效
2014/06/08 Javascript
js去除浏览器默认底图的方法
2015/06/08 Javascript
javascript实现框架高度随内容改变的方法
2015/07/23 Javascript
js实现兼容性好的微软官网导航下拉菜单效果
2015/09/07 Javascript
jQuery+php实时获取及响应文本框输入内容的方法
2016/05/24 Javascript
javascript基础语法——全面理解变量和标识符
2016/06/02 Javascript
Bootstrap按钮组简单实现代码
2017/03/06 Javascript
微信小程序 设置启动页面的两种方法
2017/03/09 Javascript
ES6入门教程之Class和Module详解
2017/05/17 Javascript
基于vue.js的分页插件详解
2017/11/27 Javascript
基于JavaScript实现抽奖系统
2018/01/16 Javascript
layer弹出的iframe层在执行完毕后关闭当前弹出层的方法
2018/08/17 Javascript
Python利用Beautiful Soup模块搜索内容详解
2017/03/29 Python
python pandas消除空值和空格以及 Nan数据替换方法
2018/10/30 Python
django 通过URL访问上传的文件方法
2019/07/28 Python
Django中使用CORS实现跨域请求过程解析
2019/08/05 Python
Python字符串的修改方法实例
2019/12/19 Python
Python读取文件内容为字符串的方法(多种方法详解)
2020/03/04 Python
Python‘==‘ 及 ‘is‘相关原理解析
2020/09/05 Python
Pycharm 跳转回之前所在页面的操作
2021/02/05 Python
Servlet方面面试题
2016/09/28 面试题
婚假请假条怎么写
2014/04/10 职场文书
环境卫生倡议书
2014/08/29 职场文书
个人四风问题整改措施
2014/10/24 职场文书
2015年爱牙日活动总结
2015/02/05 职场文书
2015年七夕情人节活动方案
2015/05/06 职场文书
Python requests用法和django后台处理详解
2022/03/19 Python