PHP+MYSQL的文章管理系統(一)

來源:互聯網
上載者:User

###############################################
此篇文章屬原創,如有引用,請標明作者資訊。
Email: leo_cdp@yeah.net
http://www.cfeng.net/
本文代碼任意轉載,使用請保留此聲明
###############################################
去年寫了個文本管理總覺得有些不爽再加上申請了主機所以寫個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 函數檔案
footer.inc,header.inc,nav.inc包含檔案。
list.txt 類型列表
以及其它一些周邊程式
管理系統示範地址:
http://www.cfeng.net/article/
########################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 #don't 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";?>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.