基于mysql的论坛(3)


Posted in PHP onOctober 09, 2006

#####################
# func.php #########
####################
<?php
require("config.inc.php");
##### 检查用户是否存在 #####
function is_user_exits($name) {
         $name=trim($name);
         $name=ereg_replace("'","‘",$name);
         $name=htmlspecialchars($name);
         $SQL="SELECT name FROM user WHERE name='$name'";
         $result=mysql_query($SQL) or die(mysql_error());
         $row=mysql_fetch_Array($result);
         $name=$row[name];
         return $name;
}
##### 检查版面是否存在 #####
function is_board_exits($baord){
         $sql="select name from boardinfo where name='$baord'";
         $result=mysql_query($sql) or die("出现错误");
         $row=mysql_fetch_array($result);
         $name=$row[name];
         return $name;
}
##### 添加新用户 Function #####
function adduser(){
         global $name,$sex,$realname,$password,$address,$oicq,$homepage,$phone,$email,$qm,$regtime;
         $name=trim($name);
         $name=ereg_replace("'","‘",$name);
         $password=trim($password);
         $name=htmlspecialchars($name);
         $realname=htmlspecialchars($realname);
         $address=htmlspecialchars($address);
         $oicq=htmlspecialchars($oicq);
         $homepage=htmlspecialchars($homepage);
         $phone=htmlspecialchars($phone);
         $email=htmlspecialchars($email);
         $qm=htmlencode2($qm);
         $regtime=date("Y-m-d H:i:s");
         $sql="insert into user (name,sex,realname,password,address,oicq,homepage,score,phone,email,qm,regtime,slaveboard) values('$name','$sex','$realname','$password','$address','$oicq','$homepage','0','$phone','$email','$qm','$regtime','')";
         mysql_query($sql) or die(mysql_error());
}
##### URL 重定向 ######
function redirect2($url){
         header("Location:$url");
}
##### 创建版面 ######
function create_board_table($name,$chinesename){
         $name=trim("$name");
         $sql="CREATE TABLE $name(id int(11) NOT NULL AUTO_INCREMENT,title varchar(50) NOT NULL,writer varchar(50) NOT NULL,cont longtext, size int,writetime varchar(20) NOT NULL,hits int(4) DEFAULT '0',good varchar(1),renum int(4) DEFAULT '0',slaveid int(11) DEFAULT '0',fromip varchar(15),PRIMARY KEY (id))";
         mysql_query($sql);
         $sql="insert into boardinfo (name,chinesename) values('$name','$chinesename')";
         mysql_query($sql);
}
###### 删除版面 ######
function drop_board_table($name){
         $sql="drop table $name";
         mysql_query($sql);
         $sql="delete from boardinfo where name='$name'";
         mysql_query($sql);
}
######## 修改版面 ###
function update_board($name,$chinesename) {
    $sql="update boardinfo set name='$name',chinesename='$chinesename' where name='$name'";
    mysql_query($sql);
}
##### 添加文章 ######
function add_doc($board){
         global $title,$name,$cont,$writer,$fromip,$writetime,$qm,$new_topic_score;
         $title=trim($title);
         $title=substr($title,0,49);
         $size=strlen($cont);
         $cont=htmlencode2($cont);
         $cont=$cont."<br>"."-------<br>".$qm;
         $writetime=date("Y-m-d H:i:s");
         $fromip=getenv("remote_addr");
         $name=htmlspecialchars($name);
         $writer=$name;
         $sql="insert into $board (title,writer,cont,size,writetime,fromip) values('$title','$name','$cont','$size','$writetime','$fromip')";
         mysql_query($sql);
         add_score($writer,$new_topic_score);
}
##### 回复文章 #####
function re_doc($board,$slaveid){
         global $title,$name,$cont,$writer,$fromip,$writetime,$qm,$re_topic_score;
         $title=trim($title);
         $title=substr($title,0,49);
         $size=strlen($cont);
         $cont=htmlencode2($cont);
         $cont=$cont."<br>"."-------<br>".$qm;
         $writetime=date("Y-m-d H:i:s");
         $name=htmlspecialchars($name);
         $writer=$name;
         $fromip=getenv("remote_addr");
         $sql="insert into $board (title,writer,cont,size,writetime,slaveid,fromip) values('$title','$writer','$cont','$size','$writetime','$slaveid','$fromip')";
         mysql_query($sql);
         $sql="update $board set renum=renum+1 where id=$slaveid";
         mysql_query($sql);
         add_score($writer,$re_topic_score);
}
##### 删除文章 ####
function del_doc($board,$id){
         global $remove_score;
         $sql="select * from $board where id=$id";
         $sql_result=mysql_query($sql);
         $sql_row=mysql_fetch_array($sql_result);
         $writer=$sql_row[writer];
         remove_score($writer,$remove_score);
         $slaveid=$sql_row[slaveid];
         $sql="select * from $board where id=$slaveid";
         $sql_result=mysql_query($sql);
         $sql_row=mysql_fetch_array($sql_result);          
         if ($sql_row[renum]>0){
              $sql="update $board set renum=renum-1 where id=$slaveid";
              mysql_query($sql);
         }
         $sql="delete from $board where id=$id";
         mysql_query($sql);
         $sql="delete from $board where slaveid=$id";
         mysql_query($sql);
}
#### 转换 html 特殊字符和 <br> #####
function htmlencode2($str){
         $str=htmlspecialchars($str);
         $str=nl2br($str);
         return $str;
}
##### 增加一个 hit ####
function add_one_hit($board,$id){
         $sql="update $board set hits=hits+1 where id=$id";
         mysql_query($sql);
}
##### 检查用户密码 ####
function check_user_password($name,$password){
         $name=trim($name);
         $name=ereg_replace("'","‘",$name);
         $name=htmlspecialchars($name);
         $password=trim($password);
         $sql="select password from user where name='$name'";
         $sql_result=mysql_query($sql);
         $sql_row=mysql_fetch_array($sql_result);
         if($password<>$sql_row[password]){
              $result=0;
         }
         else{
              $result=1;
              setcookie ("jl_forum[name]",$name);
              setcookie ("jl_forum[password]",$password);
         }
         return $result;
}
##### 检查管理员密码 ####
function check_admin_password(){
         $sql="select * from user where name='$jl_forum[name]'";
         $sql_result=mysql_query($sql);
         $sql_row=mysql_fetch_array($sql_result);
        if ($jl_forum[password]==$sql_row[password]){
            $result=1;
        }
        else {
            $result=0;
        }
        if ($sql_row[slaveboard]==$jl_forum[board]){
            $result=1;
        }
        else {
            $result=0;
        }  
         return $result;
}

##### 修改个人资料 ####
function change_profile($name){
         global $sex,$realname,$password,$address,$oicq,$homepage,$phone,$email,$qm;
         $name=trim($name);
         $name=htmlspecialchars($name);
         $realname=htmlspecialchars($realname);
         $address=htmlspecialchars($address);
         $oicq=htmlspecialchars($oicq);
         $homepage=htmlspecialchars($homepage);
         $phone=htmlspecialchars($phone);
         $email=htmlspecialchars($email);
         $qm=htmlencode2($qm);
         $sql="update user set sex='$sex',realname='$realname',password='$password',address='$address',oicq='$oicq',homepage='$homepage',phone='$phone',email='$email',qm='$qm' where name='$name'";
         mysql_query($sql);
}
##### 显示错误 ####
function show_error($id){
         redirect2("wrong.php?id=$id");
}
##### 增加版主 ####
function add_admin($board,$name){
         $name=trim($name);
         $sql="update user set slaveboard='$board' where name='$name'";
         mysql_query($sql);
}
##### 删除版主 #####
function del_admin($name){
         $name=trim($name);
         $name=htmlspecialchars($name);
         $sql="update user set slaveboard='' where name='$name'";
         mysql_query($sql);
}
##### 贴子转精华 ####
function set_good($board,$id){
         $sql="update $board set good='y' where id=$id";
         mysql_query($sql);
}
##### 转出精华 ###
function set_no_good($board,$id){
         $sql="update $board set good='' where id=$id";
         mysql_query($sql);
}
##### 导出签名 #####
function expl_qm($name){
        $name=htmlspecialchars($name);
         $sql="select qm from user where name='$name'";
         $sql_result=mysql_query($sql);
         $sql_row=mysql_fetch_array($sql_result);
         $qm=$sql_row[qm];
         return $qm;
}
##### 管理员 #####
function adminok() {
    if ($jl_admin[name]==$admin_name and $jl_admin[password]==$admin_password) {
        return 1;
    }
    else {
        return 0;
    }
}
##### 增加积分 #####
function add_score($name,$num) {
    $name=htmlspecialchars($name);
    $sql="update user set score=score+$num where name='$name'";
    mysql_query($sql);
}
##### 减少积分 ####
function remove_score($name,$num) {
    $name=htmlspecialchars($name);
    $sql="update user set score=score-$num where name='$name'";
    mysql_query($sql);
}
#### 发送留言 ####
function sendmsg() {
    global $fromname,$name,$cont;
    $name=htmlspecialchars($name);
    $fromname=htmlspecialchars($fromname);
    $cont=htmlencode2($cont);
    $wt=date("Y-m-d H:i:s");
    $sql="insert into message (name,fromname,cont,writetime) values ('$name','$fromname','$cont','$wt')";
    mysql_query($sql);
}
#### 删除留言 ####
function delmsg($id) {
    $sql="delete from message where id=$id";
    mysql_query($sql);
}
### 留言是否属于这个人 #####
function is_this_user($id) {
    $sql="select name from message where id=$id";
    $sql_result=mysql_query($sql);
    $sql_row=mysql_fetch_row($sql_result);
    if ($sql_row[name]==$jl_forum[name]) {
        return 1;
    }
    else {
        return 0;
    }
}
?>
##########################
# good.php ##########
########################
<?php
    require("func.php");
    $sql="select * from boardinfo";
    $sql_result=mysql_query($sql);
?>
<html>
<head>
<title>main</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link rel="stylesheet" type="text/css" href="css/page.css">
</head>

<body bgcolor="#FFFFFF" background="image/bg.gif">
<table width="90%" border="1" cellspacing="0" cellpadding="0" align="center" bordercolorlight="#FFCC99" bordercolordark="#FFCC99">
  <tr bgcolor="#CCFF99">  
    <td>
      <div align="center"><b>论坛精华区</b></div>
    </td>
  </tr>
  <tr align="center">  
    <td>
      <form method="post" action="good_list.php">
        <select name="board">
            <option selected>请选择版面</option>
<?php
while($sql_row=mysql_fetch_array($sql_result)){
?>  
          <option value="<?php echo $sql_row[name];?>"><?php echo $sql_row[chinesename];?></option>
<?php
}
?>
        </select>
        <br>
        <input type="submit" name="Submit" value="进入">
      </form>
    </td>
  </tr>
  <tr bgcolor="#CCFF99">  
    <td>
      <div align="center"><b>论坛信息</b></div>
    </td>
  </tr>
  <tr>
    <td>
<?php include "info.php";?>
    </td>
  </tr>
</table>
</body>
</html>
###########################
# good_list.php ###########
###########################
<?php
require("func.php");
if(!is_board_exits($board)){
    $board="computer";
}
$sql="select * from boardinfo where name='$board'";
$sql_result=mysql_query($sql);
$sql_row=mysql_fetch_array($sql_result);
$chinesename=$sql_row[chinesename];
setcookie ("jl_forum[chinesename]",$chinesename);
$sql="select name from user where slaveboard='$board'";
$sql_result=mysql_query($sql);
?>
<html>
<head>
<title>List</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link rel="stylesheet" type="text/css" href="css/index.css">
<script language="javascript">
function openwin(board,id){                window.open("good_read.php?board="+board+"&id="+id,"","height=460,width=600,resizable=yes,scrollbars=yes,status=no,toolbar=no,menubar=no,location=no");
}
function post(board){                window.open("post.php?board="+board,"","height=500,width=600,resizable=yes,scrollbars=yes,status=no,toolbar=no,menubar=no,location=no");
}
</script>
</head>

<body bgcolor="#FFFFFF" background="image/bg.gif">
<?php include "header.php";?> <br>
<table width="100%" border="1" cellspacing="0" cellpadding="0" bordercolorlight="#000000" bordercolordark="#FFFFFF">
  <tr>  
    <td height="20" width="22%" bgcolor="#eeeeee">版面:<?php
echo $chinesename;
?>精华区</td>
    <td height="20" width="34%" bgcolor="#eeeeee">版主:<?php
while ($sql_row=mysql_fetch_array($sql_result))
{
echo "$sql_row[name]"." ";
}
# 选择出留言纪录;
$sql="select * from $board where good='y'";
$temp=mysql_query($sql);
$sum=mysql_num_rows($temp);
$totalpage=ceil($sum/$pagesize);
if ($sum==0) {
    $totalpage=1;
}
# 分页
if($page<1 or empty($page)){
    $page=1;
}
elseif ($page>$totalpage){
         $page=$totalpage;
}
$offset=($page-1)*$pagesize;
$sql="select * from $board where good='y' order by id desc limit $offset,$pagesize";
$sql_result=mysql_query($sql);
?> </td>
    <td height="20" width="15%" bgcolor="#eeeeee">共有<?php echo $sum; ?>篇</td>
    <td height="20" width="12%"><a href='javascript:post("<?php echo $board;?>")'><img src="image/newtopic.jpg" width="92" height="21" border="0" alt="发新贴子"></a></td>
    <td height="20" align="center" width="17%"><a href="<?php echo "$php_self?board=$board&page=$page";?>">刷新浏览</a></td>
  </tr>
</table>
<br>
<table width="100%" border="1" cellspacing="0" cellpadding="1" bordercolorlight="#CCCCCC" bordercolordark="#FFFFFF">
  <tr bgcolor="#995100" align="center">
    <td width="6%"><font color="#FFFFFF">回应</font></td>
    <td width="67%" bgcolor="#995100"><font color="#FFFFFF">主 题</font></td>
    <td width="20%"><font color="#FFFFFF">时 间</font></td>
    <td width="7%"><font color="#FFFFFF">人气</font></td>
  </tr>
  <tr bgcolor="#FFCC99">
    <td colspan="5" height="2"> </td>
  </tr>
  <?php
while ($sql_row=mysql_fetch_array($sql_result))
{
echo"<tr>";
echo"<td width="6%" bgcolor="#FFF5DD" align="center">";
echo "[*]";
echo"</td>";
  echo"<td bgcolor="#E8FDEE" width="56%"><font face="宋体"><a href='javascript:openwin("$board",$sql_row[id])' title="作者:$sql_row[writer] 大小:$sql_row[size]字节">$sql_row[title]</a></font></td>";
  echo"<td width="18%" bgcolor="#FFF5DD" align="center">$sql_row[writetime]</td>";
  echo"<td width="6%" bgcolor="#E8FDEE" align="center">$sql_row[hits]</td>";
  echo"</tr>";
}
?>
  <tr bgcolor="#FFCC99">
    <td colspan="5" align="center" height="2"> </td>
  </tr>
</table>
<div align="right">
<form method="post" action="<?php echo $php_self;?>">
    共<b><?php echo $totalpage;?></b>页 第<b><?php echo $page;?></b>页·<?php
if ($page!=1){
     $back=$page-1;
        echo"<a href="$php_self?board=$board&page=1">首页</a> <a href="$php_self?board=$board&page=$back">上一页</a>";
}
if ($page==1){
       echo"首页 上一页";
}
if($page!=$totalpage){
    $next=$page+1;
        echo" <a href="$php_self?board=$board&page=$next">下一页</a> <a href="$php_self?board=$board&page=$totalpage">尾页</a>";
}
if($page==$totalpage){
        echo" 下一页 尾页";
}
?>·  
    <input type="submit" name="goto" value="转到">
    <input type="text" name="page" size="2">
    页  
  </form>
</div>
<?php include "footer.php";?>
</body>
</html>
############################
###  good_read.php ######
######################3
<?php
require ("func.php");
if ($re){
     if (!is_board_exits($board)){
          show_error(7);
          $founderr=1;
     }
     $sql="select slaveid from $board where id=$id";
     $sql_result=mysql_query($sql);
     $sql_row=mysql_fetch_array($sql_result);
     if($sql_row[slaveid]!=0){
         show_error(1);
         $founderr=1;
     }
     if (!check_user_password($name,$password)){
          show_error(4);
          $founderr=1;
     }
     if (strlen($title)>50){
         show_error(6);
         $founderr=1;
     }
     if (empty($title)){
         show_error(2);
         $founderr=1;
     }
     if ($qm){
          $qm=expl_qm($name);
     }
     if(!$founderr){
         re_doc($board,$id);
         $sql="select * from $board where id=$id";
         $sql_result=mysql_query($sql);
         $sql_row=mysql_fetch_array($sql_result);
         $title=$sql_row[title];
         $writer=$sql_row[writer];
         $cont=$sql_row[cont];
         $writetime=$sql_row[writetime];
         $hits=$sql_row[$hits];
         $fromip=$sql_row[fromip];
         $sql="select * from $board where slaveid=$id";
         $sql_result=mysql_query($sql);
        # $sql_row=mysql_fetch_array($sql_result);
     }

}
elseif ($add){
     if (!is_board_exits($board)){
          show_error(7);
          $founderr=1;
     }
     if (empty($title)){
         show_error(2);
         $founderr=1;
     }
     if (!check_user_password($name,$password)){
          show_error(4);
          $founderr=1;
     }
     if (strlen($title)>50){
         show_error(6);
         $founderr=1;
     }
     if ($qm){
          $qm=expl_qm($name);
          $founderr=1;
     }
     if (!$founderr){
           add_doc($board);
     }
}
else {
     if (!is_board_exits){
          show_error(7);
     }
     add_one_hit($board,$id);
     $sql="select * from $board where id=$id";
     $sql_result=mysql_query($sql);
     $sql_row=mysql_fetch_array($sql_result);
     $title=$sql_row[title];
     $writer=$sql_row[writer];
     $cont=$sql_row[cont];
     $writetime=$sql_row[writetime];
     $hits=$sql_row[$hits];
     $fromip=$sql_row[fromip];
     $sql="select * from $board where slaveid=$id order by id desc";
     $sql_result=mysql_query($sql);
  #   $sql_row=mysql_fetch_array($sql_result);
}
?>
<html>
<head>
<title><?php echo $title;?></title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link rel="stylesheet" type="text/css" href="css/index.css">
<script language="javascript">
function sendmsg(name){                window.open("sendmsg.php?name="+name,"","height=200,width=500,resizable=yes,scrollbars=yes,status=no,toolbar=no,menubar=no,location=no");
}
</script>

</head>

<body bgcolor="#666699">
<?php include "ad.php";?><br>
<hr noshade width="98%" size="1">
<table width="98%" border="1" cellspacing="0" cellpadding="2" align="center" bordercolorlight="#CCCCCC" bordercolordark="#FFFFFF">
  <tr bgcolor="#666666">
    <td><font color="#FFcc00"><b>标题:<?php echo $title;?></b></font></td>
  </tr>
  <tr>
    <td bgcolor="#eeeeee">作者:<?php echo "$writer";?>(<?php echo $writetime;?>) <a href="javascript:sendmsg('<?php echo "$writer";?>')"><img src="image/icon1.gif" width="18" height="17" alt="给作者留言" border="0"></a> <a href="userinfo.php?name=<?php echo $writer;?>"><img src="image/profile.gif" width="16" height="16" alt="察看用户资料" border="0"></a></td>
  </tr>
  <tr>
    <td bgcolor="#ffffef"><?php echo $cont;?></td>
  </tr>
  <tr bgcolor="#e8eee0">
    <td>※ 来源:<?php echo $jl_forum[chinesename];?> [◆FROM:<?php echo $fromip;?>]</td>
  </tr>
</table>
<br>
<?php include"footer.php";?><br>
</body>
</html>

PHP 相关文章推荐
php4的彩蛋
Oct 09 PHP
使用字符串函数输出整数化的PHP版本号
Oct 09 PHP
php flush类输出缓冲剖析
Oct 19 PHP
phpMyAdmin链接MySql错误 个人解决方案
Dec 28 PHP
PHPThumb PHP 图片缩略图库
Mar 11 PHP
php实现smarty模板无限极分类的方法
Dec 07 PHP
Symfony学习十分钟入门经典教程
Feb 03 PHP
php基于mcrypt_encrypt和mcrypt_decrypt实现字符串加密解密的方法
Jul 12 PHP
PHP读取zip文件的方法示例
Nov 17 PHP
Thinkphp结合ajaxFileUpload实现异步图片传输示例
Mar 13 PHP
php mysql_list_dbs()函数用法示例
Mar 29 PHP
php实现自定义中奖项数和概率的抽奖函数示例
May 26 PHP
一个简单的域名注册情况查询程序
Oct 09 #PHP
不用数据库的多用户文件自由上传投票系统(2)
Oct 09 #PHP
PHP4实际应用经验篇(4)
Oct 09 #PHP
Php做的端口嗅探器--可以指定网站和端口
Oct 09 #PHP
PHP4实际应用经验篇(3)
Oct 09 #PHP
在字符串中把网址改成超级链接
Oct 09 #PHP
PHP4实际应用经验篇(2)
Oct 09 #PHP
You might like
模拟xcopy的函数
2006/10/09 PHP
深入解析php模板技术原理【一】
2008/01/10 PHP
PHP开发过程中常用函数收藏
2009/12/14 PHP
PHP插入排序实现代码
2013/04/04 PHP
php+Mysqli利用事务处理转账问题实例
2015/02/11 PHP
PHP查看当前变量类型的方法
2015/07/31 PHP
ThinkPHP在Cli模式下使用模板引擎的方法
2015/09/25 PHP
thinkPHP框架可添加js事件的分页类customPage.class.php完整实例
2017/03/16 PHP
Add Formatted Data to a Spreadsheet
2007/06/12 Javascript
jQuery 拖动层(在可视区域范围内)
2012/05/24 Javascript
jQuery easyui datagrid动态查询数据实例讲解
2013/02/26 Javascript
jquery遍历select元素(实例讲解)
2013/12/31 Javascript
Javascript高级技巧分享
2014/02/25 Javascript
查找Oracle高消耗语句的方法
2014/03/22 Javascript
js获取上传文件大小示例代码
2014/04/10 Javascript
jquery移动端TAB触屏切换实现效果
2020/12/22 Javascript
JS继承之借用构造函数继承和组合继承
2016/09/07 Javascript
微信小程序 Video API实例详解
2016/10/02 Javascript
d3.js实现立体柱图的方法详解
2017/04/28 Javascript
微信小程序实现图片翻转效果的实例代码
2019/09/20 Javascript
vue基于better-scroll实现左右联动滑动页面
2020/06/30 Javascript
JS数据类型判断的几种常用方法
2020/07/07 Javascript
Python基于time模块求程序运行时间的方法
2017/09/18 Python
python 获取list特定元素下标的实例讲解
2018/04/09 Python
python3.6.3安装图文教程 TensorFlow安装配置方法
2020/06/24 Python
django中media媒体路径设置的步骤
2019/11/15 Python
Python中如何引入第三方模块
2020/05/27 Python
Python OpenCV读取中文路径图像的方法
2020/07/02 Python
澳大利亚最受欢迎的美发和美容在线商店:Catwalk
2018/12/12 全球购物
牵手50新加坡:专为黄金岁月的单身人士而设的交友网站
2020/08/16 全球购物
大学毕业通用个人的求职信
2013/12/08 职场文书
法律进企业活动方案
2014/03/04 职场文书
生日宴会主持词
2014/03/20 职场文书
2015年安置帮教工作总结
2015/05/22 职场文书
千万级用户系统SQL调优实战分享
2022/03/03 MySQL
使用python生成大量数据写入es数据库并查询操作(2)
2022/09/23 Python