基于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 相关文章推荐
PHP的FTP学习(三)
Oct 09 PHP
PHP 面向对象 PHP5 中的常量
May 05 PHP
PHP数组的交集array_intersect(),array_intersect_assoc(),array_inter_key()函数的小问题
May 29 PHP
php制作unicode解码工具(unicode编码转换器)代码分享
Dec 24 PHP
php对包含html标签的字符串进行截取的函数分享
Jun 19 PHP
destoon官方标签大全
Jun 20 PHP
一个不易被发现的PHP后门代码解析
Jul 05 PHP
PHP模板解析类实例
Jul 09 PHP
在openSUSE42.1下编译安装PHP7 的方法
Dec 24 PHP
PHP实现阿里大鱼短信验证的实例代码
Jul 10 PHP
使用PHP访问RabbitMQ消息队列的方法示例
Jun 06 PHP
php文件后缀不强制为.php的实操方法
Sep 18 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
php设计模式 Chain Of Responsibility (职责链模式)
2011/06/26 PHP
我的php学习笔记(毕业设计)
2012/02/21 PHP
浅谈web上存漏洞及原理分析、防范方法(安全文件上存方法)
2013/06/29 PHP
ThinkPHP实现带验证码的文件上传功能实例
2014/11/01 PHP
浅谈json_encode用法
2015/03/05 PHP
PHP使用递归方式列出当前目录下所有文件的方法
2015/06/02 PHP
php与c 实现按行读取文件实例代码
2017/01/03 PHP
PHP cookie,session的使用与用户自动登录功能实现方法分析
2019/06/05 PHP
CI框架简单分页类用法示例
2020/06/06 PHP
js+div实现图片滚动效果代码
2014/02/10 Javascript
Javascript学习笔记之函数篇(五) : 构造函数
2014/11/23 Javascript
jquery validate demo 基础
2015/10/29 Javascript
EasyUi 打开对话框后控件赋值及赋值后不显示的问题解决办法
2017/01/19 Javascript
详解Node使用Puppeteer完成一次复杂的爬虫
2018/04/18 Javascript
使用vue-infinite-scroll实现无限滚动效果
2018/06/22 Javascript
在 Vue 应用中使用 Netlify 表单功能的方法详解
2019/06/03 Javascript
vue解决跨域问题(推荐)
2020/11/10 Javascript
[01:01:52]完美世界DOTA2联赛PWL S2 GXR vs Magma 第二场 11.25
2020/11/26 DOTA
下载糗事百科的内容_python版
2008/12/07 Python
python网络爬虫采集联想词示例
2014/02/11 Python
python使用wmi模块获取windows下的系统信息 监控系统
2015/10/27 Python
Python使用gensim计算文档相似性
2016/04/10 Python
使用paramiko远程执行命令、下发文件的实例
2017/10/01 Python
python 制作自定义包并安装到系统目录的方法
2018/10/27 Python
python如何求数组连续最大和的示例代码
2020/02/04 Python
tensorflow从ckpt和从.pb文件读取变量的值方式
2020/05/26 Python
python实现按日期归档文件
2021/01/30 Python
爱尔兰电子产品购物网站:Komplett.ie
2018/04/04 全球购物
高中生自我鉴定范文
2013/10/30 职场文书
鼓励运动员的广播稿
2014/02/08 职场文书
高中美术教师事迹材料
2014/08/22 职场文书
设备收款委托书范本
2014/10/02 职场文书
2015年班级元旦晚会活动总结
2014/11/28 职场文书
2019年大学生暑期社会实践调查报告模板
2019/11/07 职场文书
Python实现简单的猜单词
2021/06/15 Python
Windows11性能真的上涨35%? 桌面酷睿i9实测结果公开
2021/11/21 数码科技