PHP+MYSQL的文章管理系统(一)
2018-09-07 13:27
###############################################
此篇文章属原创,如有引用,请标明作者信息。
本文代码任意转载,使用请保留此声明
###############################################
去年写了个文本管理总觉得有些不爽再加上申请了主机所以写个PHP+MYSQL的对文章进行管理测试期间
受到广大网友的支持现将代码公布
功能说明:
文章的基本操作:添加,修改,锁定,解锁,推荐,删除等待
并有强大功能的搜索,评论,推荐给朋友等功能,并对安全性进行着重加强,漂亮的界面人性化的设计。
主要文件列表:
setup.php安装程序,运行后即可使用本系统!
index.php显示
manager.php添加,管理文章。
change.php对已存在文章的操作。
edit_article.php 文章修改
commend.php推荐文章给朋友。
read_article.php 文章阅读。
ping.php发表文章评论。
search.php文章搜索
type_manager.php类型管理
login.php管理员登陆。
config.php主要配置文件
func.php函数文件
list.txt类型列表
以及其它一些周边程序
管理系统演示地址:
########################config.php 主要配置文件##########################
<?
$host="localhost";#数据库主机
$database_usn="cfeng.net";##数据库用户
$database_pwd="cfeng.net";##数据库密码
$database="cfeng.net";##数据库
$table="cfeng.net";##要存放文章的表
$ping_tab="ping_tab1";##存放评论的表
$admin_usn="leo";##管理员用户名
$admin_pwd="leo";##管理员密码
$admin_mail="leo_cdp@yeah.net";##管理员信箱
$pagenum="20";##每页显示文章数
$sess=md5($admin_usn.$admin_pwd);##登陆认证采用MD5生成
?>
#####################func.php函数文件 ###################################
<?
require "./inc/config.php";
function mscon()##数据库链接
{
global $host,$database_usn,$database_pwd;
@mysql_connect("$host","$database_usn","$database_pwd") or die("对不起,数据库连接错误!请稍候再来,或与管理员联系");
}
function check_login()
{global $sess;
if(!session_is_registered("sess_0230a09a07cab1df8112d00b1f9a9719"))
{
if($sess_0230a09a07cab1df8112d00b1f9a9719!=$sess)
{
redir("login.php");
exit;
}
}
}
function redir($addr)
{
header("location:$addr");
}
function add_article()##本系统实行宽进严出所以添加文章部份显得略为简单!
{
global $database,$table,$title,$cont,$type,$html;
$dat=date(Y年m月d日);
$title=htmlspecialchars($title);
$query="insert into $table(title,cont,type,time,html) values($title,$cont,$type,$dat,$html)";
$res=mysql_db_query("$database",$query);
if(!$res)
echo mysql_error();
}
function add_hits($id)##添加浏览次数!
{
global $database,$table;
$query="update $table set hits=hits+1 where id=$id";
$res=mysql_db_query("$database",$query);
}
function add_comm($id)##把本文加为推荐文章
{
global $database,$table;
$query="update $table set comm=1 where id=$id";
$res=mysql_db_query("$database",$query);
}
function un_comm($id)##清除推荐!
{
global $database,$table;
$query="update $table set comm=0 where id=$id";
$res=mysql_db_query("$database",$query);
}
function add_lock($id)##锁定文章
{
global $database,$table;
$query="update $table set locked=1 where id=$id";
$res=mysql_db_query("$database",$query);
}
function un_lock($id)##清除锁定!
{
global $database,$table;
$query="update $table set locked=0 where id=$id";
$res=mysql_db_query("$database",$query);
}
function add_p_num($id)##添加评论次数!
{
global $database,$table;
$query="update $table set p_num=p_num+1 where id=$id";
$res=mysql_db_query("$database",$query);
}
function add_del($id)##删除文章!
{
global $database,$table;
$query="delete from $table where id=$id";
$res=mysql_db_query("$database",$query);
}
########################setup.php 安装文件######################
<?
session_start();
require"./inc/func.php";
check_login();
?>
<?
if($sub)
{
$file_cont="<?\n #dont edit thisfile use the setup.php\n";
$file_cont.="\$host=\"$host\";#your database server address\n";
$file_cont.="\$database_usn=\"$database_usn\";\n";
$file_cont.="\$database_pwd=\"$database_pwd\";\n";
$file_cont.="\$database=\"$database\";\n";
$file_cont.="\$table=\"$table\";\n";
$file_cont.="\$ping_tab=\"$ping_tab\";\n";
$file_cont.="\$admin_usn=\"$admin_usn\";\n";
$file_cont.="\$admin_pwd=\"$admin_pwd\";\n";
$file_cont.="\$admin_mail=\"$admin_mail\";\n";
$file_cont.="\$pagenum=\"$pagenum\";\n";
$file_cont.="\$sess=md5(\$admin_usn.\$admin_pwd);\n";
$file_cont.="\n";
$file_cont.="?>";
$fp=fopen("./inc/config.php","w");
if(fputs($fp,$file_cont))
echo "配置完成正检测各选项的正确性<BR>";
else echo "文件写入错误,请检测文件所在目录的权限<br>";
fclose($fp);
echo "正在检测数据连接.........." ;
if(@mysql_connect("$host","$database_usn","$database_pwd"))
{
echo"成功!<BR>" ;
$query="CREATE TABLE $table(
id int(4) NOT NULL auto_increment,
title varchar(55) NOT NULL,
cont text NOT NULL,
time varchar(14) NOT NULL,
type varchar(20) NOT NULL,
comm int(1) DEFAULT 0 NOT NULL,
p_num int(2) DEFAULT 0 NOT NULL,
locked int(1) DEFAULT 0 NOT NULL,
hits int(4) DEFAULT 0 NOT NULL,
html int(1) DEFAULT 1 NOT NULL,
PRIMARY KEY (id),
UNIQUE id (id),
KEY id_2 (id)
) " ;
if(mysql_db_query($database,$query))
echo"数据库 $table 建立成功<BR>".mysql_error();
else
echo"数据库 $table 建立失败<BR>";
$query="CREATE TABLE $ping_tab (
id int(4) NOT NULL auto_increment,
p_id int(4) DEFAULT 0 NOT NULL,
name varchar(50) NOT NULL,
mail varchar(200) NOT NULL,
p_cont text NOT NULL,
time datetime DEFAULT 0000-00-00 00:00:00 NOT NULL,
ip varchar(15) NOT NULL,
PRIMARY KEY (id),
UNIQUE id (id),
KEY id_2 (id)
)";
if(mysql_db_query($database,$query))
{
echo"用户评论数据库 $ping_tab 建立成功<BR>恭喜,文章管理系统安装成功!请<a href=login.php>这边走</a>进行基本设置!<BR>";
$fp=fopen("setup.php","r");
$file_cont=fread($fp,filesize("setup.php"));
$file_cont="<? \nsession_start();\nrequire\"./inc/func.php\";\n check_login();\n?>\n".$file_cont;
$fp=fopen("setup.php","w");
fputs($fp,$file_cont);
fclose($fp);
}
else
echo"用户评论数据库$ping_tab建立失败<BR>";
}
else
echo "数据库连接失败!请检测你用户名密码的正确性!<BR>";
exit();
}
require "./inc/header.inc";
?>
<script language="javascript">
function db_pwd()
{
var theResult = true;
var elem4 = null;
if (document.forms[0].elements[2].value == "" document.forms[0].elements[2].value!=document.forms[0].elements[3].value)
{
alert("您两次输入的数据库密码不一致,或者为空!");
document.forms[0].elements[2].value="";
document.forms[0].elements[3].value="";
theResult = false;
}
return theResult;
}
function admin_pwd()
{
var theResult = true;
var elem4 = null;
if (document.forms[0].elements[8].value == "" document.forms[0].elements[8].value!=document.forms[0].elements[9].value)
{
alert("您两次输入的管理员密码不一致,或者为空!");
document.forms[0].elements[8].value="";
document.forms[0].elements[9].value="";
theResult = false;
}
return theResult;
}
function go()
{
var theResult=true;
theResult =db_pwd()&&admin_pwd();
return theResult;
}
</script>
</head>
<body bgcolor="#FFFFFF">
<? require "./inc/nav.inc";?>
<form name="form1" method="post" action="<? echo $PHP_SELF; ?>" onsubmit="return go()";>
<table border="0" cellspacing="0" cellpadding="0" align="center" style=text-align:left;>
<tr>
<td colspan="3">
<div align="center">蓝狐文章管理安装程序<br>
(请正确填写以下内容否则程序将无法使用)</div>
</td>
</tr>
<tr>
<td>数据库服务器:</td>
<td colspan="2">
<input type="text" name="host" value="localhost" class="border" size="30">
</td>
</tr>
<tr>
<td>数据库用户名: </td>
<td colspan="2">
<input type="text" name="database_usn" class="border" size="30">
</td>
</tr>
<tr>
<td>数据库用户密码:</td>
<td colspan="2">
<input type="password" name="database_pwd" class="border" size="30">
</td>
</tr>
<tr>
<td>数据库密码确认:</td>
<td colspan="2">
<input type="password" name="database_pwd2" class="border" size="30">
</td>
</tr>
<tr>
<td>数据库名:</td>
<td colspan="2">
<input type="text" name="database" class="border" size="30">
</td>
</tr>
<tr>
<td>存放文章的表:</td>
<td colspan="2">
<input type="text" name="table" class="border" size="30">
</td>
</tr>
<tr>
<td>存放评论的表:</td>
<td colspan="2">
<input type="text" name="ping_tab" class="border" size="30">
</td>
</tr>
<tr>
<td>管理员用户名:</td>
<td colspan="2">
<input type="text" name="admin_usn" class="border" size="30">
</td>
</tr>
<tr>
<td>管理员密码:</td>
<td colspan="2">
<input type="password" name="admin_pwd" class="border" size="30">
</td>
</tr>
<tr>
<td>管理员密码确认:</td>
<td colspan="2">
<input type="password" name="admin_pwd2" class="border" size="30">
</td>
</tr>
<tr>
<td>管理员邮件地址:</td>
<td colspan="2">
<input type="text" name="admin_mail" class="border" size="30">
</td>
</tr>
<tr>
<td>每页显示文章数:</td>
<td colspan="2">
<input type="text" name="pagenum" class="border" size="30">
</td>
</tr>
<tr>
<td>
<div align="center"><br>
</div>
</td>
<td>
<div align="left"><br>
<input type="submit" name="sub" value="submit" class="border">
<input type="reset" name="reset" value="reset" class="border">
</div>
</td>
</tr>
</table>
<p> </p>
</form>
<?require "./inc/footer.inc";?>
文章标题:PHP+MYSQL的文章管理系统(一)
文章链接:http://soscw.com/index.php/essay/12601.html