基于mysql的论坛(3)

5年以前  |  阅读数:259 次  |  编程语言:PHP 

#####################

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."
"."-------
".$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."
"."-------
".$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 特殊字符和
#####

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);
?>

main
论坛精华区

论坛信息
########################### # good_list.php ########### ########################### List
版面:精华区 版主:$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); ?> 共有 发新贴子 ">刷新浏览

"; echo""; echo""; echo""; echo""; echo""; } ?>
回应 主 题 时 间 人气
"; echo "[*]"; echo"$sql_row[title]$sql_row[writetime]$sql_row[hits]
页 第页・首页 上一页"; } if ($page==1){ echo"首页 上一页"; } if($page!=$totalpage){ $next=$page+1; echo" 下一页 尾页"; } if($page==$totalpage){ echo" 下一页 尾页"; } ?>・
############################ ### good_read.php ###### ######################3 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);

}
?>

<?php echo $title;?>

标题:
作者:() ')">给作者留言 察看用户资料
※ 来源: [◆FROM:]


 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例