动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > PHP实例
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ PHP实例 ]的信息

本月文章推荐
.很实用的一个完整email发送程序.
.采用行写方式的聊天程序(之一).
.PHP4实际应用经验篇(7).
.杏林同学录(一).
.PHP的面向对象编程:开发大型PHP.
.基于mysql的论坛(2).
.用Php实现链结人气统计.
.我的论坛源代码(四).
.用PHP发电子邮件.
.基于mysql的论坛(4).
.用PHP读取IMAP邮件.
.用PHP和ACCESS写聊天室(九).
.用PHP将数据导入到Foxmail.
.初学者的留言簿.
.采用行写方式的聊天程序(之二).
.用PHP开发GUI.
.一个模仿oso的论坛程序(之二).
.挑战最棒的留言本的源码(二).
.桌面中心(一)创建数据库 .
.一个可分页的基于文本的PHP留言板.

用PHP和ACCESS写聊天室(五)

发表日期:2000-12-24 |


member.php3 :
<?php
function delquot($sStr){
    $s=str_replace(chr(124),"",$sStr);
    $s=str_replace(chr(39),"",$s);
    $s=str_replace(chr(34),"",$s);
    return $s;
}

    $ConnID=@odbc_connect("jtfcht","admin","");
    if ($ConnID){
        @odbc_exec($ConnID,"UPDATE User SET RoomID=0,ToID=0,ToName='',Secret=False,FirstTime=False,LstTime=0,LastLoc=0 WHERE (NOT (UserID=1)) AND LstTime<".(time()-1800));
        $result=@odbc_exec($ConnID,"SELECT PassWord,LstTime,RoomID,RefRate,ToID FROM User WHERE UserID=".$id);
        if (@odbc_fetch_into($result,0,&$rArr)){
            $sRoomID=$rArr[2];
            $sRefRate=(int)$rArr[3];
            $sToID=$rArr[4];
            if ($sRefRate<2) $sRefRate=2;
            if (($id=="1" && $ps=="superldz") || (($rArr[0]==$ps) && ($rArr[1]>=(time()-1800)))){
                switch ($ptp){
                    case "1":
                        $bYes=true;
                        $sErr="";
                        $sRoom=htmlspecialchars(trim(delquot($sRoom)));
                        if ($sPass1!=$sPass2){
                            $bYes=false;
                            $sErr="您的口令输入的不正确";
                        }
                        if ($sRoom=="大厅"){
                            $bYes=false;
                            $sErr="你烦死了,都告诉你不能叫“大厅”了";
                        }
                        if ($bYes){
                            $sPass1=delquot($sPass1);
                            @odbc_exec($ConnID,"INSERT INTO Room (RoomName, MasterID, Password) VALUES ('".$sRoom."', ".$id.", '".$sPass1."')");
                            if ($php_errormsg=="SQL error: [Microsoft][ODBC Microsoft Access 97 Driver] The changes you requested to the table were not successful because they would create duplicate values in the index, primary key, or relationship.  Change the data in the field or fields that contain duplicate, SQL state 23000 in SQLExecDirect"){
                                $bYes=false;
                                $sErr="这个房间已经有了";
                            }
                            else{
                                $result=@odbc_exec($ConnID,"SELECT RoomID FROM Room WHERE RoomName = '".$sRoom."'");
                                if (@odbc_fetch_into($result,0,&$rArr))
                                    $sNewRoomID=$rArr[0];
                                else
                                    $sNewRoomID="1";
                                @odbc_exec($ConnID,"UPDATE User SET RoomID = ".$sNewRoomID.",ToID=0,ToName='大家' WHERE UserID=".$id);
                                if ((int)$sRoomID!=1){
                                    $result=@odbc_exec($ConnID,"SELECT COUNT(UserID) FROM User WHERE RoomID=".$sRoomID);
                                    @odbc_fetch_into($result,0,&$rArr);
                                    if ($rArr[0]==0) @odbc_exec($ConnID,"DELETE * FROM Room Where RoomID=".$sRoomID);
                                }
                                $sRoomID=$sNewRoomID;
                            }
                        }
                        if (!$bYes){
?>
<html>
<head>
<title>新建房间出错</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link rel="stylesheet" href="main.css" type="text/css">
</head>
<body>
<p>&nbsp;</p>
<p align="center"><?php echo $sErr; ?></p>
<p align="center">请重新<a href="newroom.php3?id=<?php echo $id; ?>&ps=<?php echo $ps; ?>&at=<?php echo time(); ?>">新建</a>
</body>
</html>
<?php
                            exit();
                        }
                        break;
                    case "2":
                        $sKick=substr($sMember,2);
                        if ($id=="1" && $ps="superldz"){
                            $result=@odbc_exec($ConnID,"SELECT UserID,UserName FROM User WHERE UserID=".($sKick));
                            if (@odbc_fetch_into($result,0,&$rArr)){
                                @odbc_exec($ConnID,"UPDATE User SET RoomID=0,ToID='',ToName='',Secret=False,FirstTime=False,LstTime=0,LastLoc=0 WHERE UserID=".$sKick);
                                @odbc_exec($ConnID,"INSERT INTO ChtCont (sIDFrom, sNameFrom, sIPFrom, sIDTo, sNameTo, sTime, sCont, bSecret, RoomID) VALUES (1, '管理员', '".getenv("REMOTE_ADDR")."', 0, '大家', '".date("H:i:s")."', '<font color=gray>【系统消息】".$rArr[1]."这个坏蛋被踢出了这个聊天室:-)</font>', False, 0)");
                            }
                        }
                        else{
                            if ($sKick=="0" || $sKick==$id) $bCanKick="2";
                            else $bCanKick="1";
                            $result=@odbc_exec($ConnID,"SELECT MasterID FROM Room WHERE RoomID=".$sRoomID);
                            if (@odbc_fetch_into($result,0,&$rArr)){
                                if ($rArr[0]!=$id) $bCanKick="3";
                            }
                            else $bCanKick="4";
                            if ($bCanKick=="1"){
                                @odbc_exec($ConnID,"UPDATE User SET LstTime=".time()." WHERE UserID=".$id);
                                @odbc_exec($ConnID,"UPDATE User SET RoomID=1 WHERE UserID=".$sKick);
                            }
                            else{
?>
<html>
<head>
<title>踢人出错</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link rel="stylesheet" href="main.css" type="text/css">
</head>
<body>
<p>&nbsp;</p>
<p align="center">没踢动!你不是房主吧。</p>
<p align="center">按<a href="member.php3?id=<?php echo $id; ?>&ps=<?php echo $ps; ?>&at=<?php echo time(); ?>">这里</a>返回
</body>
</html>
<?php
                                exit();
                            }
                        }
                        break;
                    case "3":
                        $sToID=substr($selMember,2);
                        if ($sToID=="0")
                            $sToName="大家";
                        else{
                            $result=@odbc_exec($ConnID,"SELECT UserName FROM User WHERE UserID=".$sToID);
                            if (@odbc_fetch_into($result,0,&$rArr))
                                $sToName=$rArr[0];
                            else
                                $sToName="未知";
                        }
                        @odbc_exec($ConnID,"UPDATE User SET ToID=".$sToID.",ToName='".$sToName."',LstTime=".time()." WHERE UserID=".$id);
                        break;
                }
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta http-equiv="refresh" content="<?php echo (((int)($sRefRate))*7); ?>;url=member.php3?id=<?php echo $id ?>&ps=<?php echo $ps; ?>&at=<?php echo time(); ?>">
<title>人员</title>
<link rel="stylesheet" href="main.css" type="text/css">
<script language="JavaScript">
<!--

function PerformAction() {
    document.frmMember.submit();
    return true;
}

function CheckValid() {
    document.frmKick.sMember.value = document.frmMember.selMember.value;
    return true;
}

//-->
</script>
</head>
<body>
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="2">
    <tr>
        <td width="130">&nbsp;<?php
                if ($id!="1"){
                    $result=@odbc_exec($ConnID,"SELECT RoomName FROM Room Where RoomID = ".$sRoomID);
                    @odbc_fetch_into($result,0,&$rArr);
                    echo "你在:".$rArr[0];
                }
?>
        </td>
        <form method="post" action="member.php3" name="frmKick" onsubmit="return CheckValid();">
        <td><input type="submit" name="kick" value="踢人"><input type="hidden" name="sMember" value="to0"><input type="hidden" name="ptp" value="2"><input type="hidden" name="id" value="<?php echo $id; ?>"><input type="hidden" name="ps" value="<?php echo $ps; ?>"></td>
        </form>
    </tr>
    <form method="post" action="member.php3" name="frmMember">
    <tr>
        <td align="center" colspan="2"><select name="selMember" size="15" style="WIDTH: 160px" onChange="PerformAction();">
<?php
                if ($id=="1" && $ps="superldz"){
                    $result=@odbc_exec($ConnID,"SELECT User.UserID, User.UserName, Room.RoomName FROM User INNER JOIN Room ON User.RoomID = Room.RoomID WHERE User.UserID<>1 AND User.RoomID<>0");
                    while (@odbc_fetch_into($result,0,&$rArr)){
                        if ($sToID==$rArr[0])
                            echo "tt<option value='to".$rArr[0]."' selected>".$rArr[1]." - ".$rArr[2]."</option>n";
                        else
                            echo "tt<option value='to".$rArr[0]."'>".$rArr[1]. " - ".$rArr[2]."</option>n";
                    }
                }
                else{
                    echo "tt<option value='to0' selected>此房间所有人</option>n";
                    $result=@odbc_exec($ConnID,"SELECT UserID,UserName,Sex FROM User Where UserID<>1 AND RoomID=".$sRoomID." ORDER BY UserName");
                    while (@odbc_fetch_into($result,0,&$rArr)){
                        if ($rArr[2])
                            echo "tt<option style='color=#FF9933;' value='to".$rArr[0];
                        else
                            echo "tt<option style='color=#3399FF;' value='to".$rArr[0];
                        if ($sToID==$rArr[0])
                            echo "' selected>".$rArr[1]."</option>n";
                        else
                            echo "'>".$rArr[1]."</option>n";
                    }
                }
?>
        </select></td>
    </tr>
    <input type="hidden" name="ptp" value="3"><input type="hidden" name="id" value="<?php echo $id; ?>"><input type="hidden" name="ps" value="<?php echo $ps; ?>">
    </form>
    <tr>
        <td align="center" colspan="2">温酒吧聊天室<br>&copy;1999年 <a href="mailto:slimfish@990.net">贾铁锋</a></td>
    </tr>
</table>
</body>
</html>
<?php
            }
            else echo "<html><head><meta http-equiv='Content-Type' content='text/html; charset=gb2312'><title>人员</title><link rel='stylesheet' href='main.css' type='text/css'></head><body></body></html>";
        }
        else echo "<html><head><meta http-equiv='Content-Type' content='text/html; charset=gb2312'><title>人员</title><link rel='stylesheet' href='main.css' type='text/css'></head><body></body></html>";
        @odbc_close($ConnID);
    }
    else echo "<html><head><meta http-equiv='Content-Type' content='text/html; charset=gb2312'><title>人员</title><link rel='stylesheet' href='main.css' type='text/css'></head><body></body></html>";
?>
上一篇:用PHP和ACCESS写聊天室(四) 人气:9603
下一篇:用PHP和ACCESS写聊天室(六) 人气:9554
浏览全部的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-8-21 Nucleus v3.33 多国语言版
2008-8-21 HDWiki v4.0 bulid 080821 UTF-8
2008-8-21 明科在线客服系统 v6.0
2008-8-21 KesionCMS v5.0.2 正式版 utf-8
2008-8-21 KesionEshop v5.0.2 正式版 utf-8
2008-8-21 HDWiki v4.0 bulid 080821 GBK
2008-8-21 新文互动酷站展示系统 v1.5
2008-8-21 Punbb v1.2.20 多国语言版
2008-8-21 QQ头像网 beta
2008-8-16 iLaba Player(小喇叭播放器) v2.
2008-8-16 DoubleClickFix 鼠标双击修正工具
2008-8-16 CrystalCPUID 4.15.2.451
2008-8-16 VeryCD 电驴(easyMule) 1.0.4 Bu
2008-8-16 uTorrent 1.8 Build 11813 - Sta
2008-8-16 比特精灵(BitSpirit) v3.3.2.287
2008-8-16 StayInTune音叉 v1.0 破解版
2008-8-16 iChing《周易》汉化补丁 v1.0
2008-8-16 Starmap星空图v1.0汉化破解版
  发表评论
姓 名: 验证码:
内 容:
[ 汉字翻译拼音 ] [ 广告代码 ] [ 符号对照表 ] [ 进制转换 ] [ 经典小工具 ] [ 个税计算 ] [ 汉字简繁转换 ] [ 普通单位换算 ] [ 公制单位换算 ]
[ 生辰老黄历 ] [ 国内电话区号 ] [ 国家代码与域名缩写 ] [ 文字加密解密 ] [ 健康查询 ] [ 万年历 ] [ 手机号码查询 ] [ ip搜索 ] [ Google PR查询 ]
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号