PHP+ACCESS 文章管理程序代码

时间:2021-12-21 09:01:57
代码如下:

<?php 
session_start(); 
//========================== 
//作者:biyuan 
//时间:2006.07 
//联系:QQ6010707 
//========================== 
?> 
<html> 
<head> 
<title>碧原网络PHP+ACCESS文章管理系统</title> 
<meta http-equiv="content-type" content="text/html; charset=gb2312" /> 
<style type="text/css"> 
body { 
margin:0px; 
text-align:center; 
font-size:12px; 
font-family:verdana; 

td { 
font-size:12px; 
height:28px; 
padding:4px; 
font-family:verdana; 

A:link, 
A:visited, 
A:active { 
color: #005a17; text-decoration: none; 

A:hover { 
color: #ff5a00; text-decoration: underline; 

</style> 
</head> 
<body> 
<?php 
//================================== 
//连接数据库 
//================================== 
@$conn = new com("ADODB.Connection"); 
$conn->Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" . realpath("article.mdb")); 
//================================== 
//文章导航 
//================================== 
function article_menu(){ 
global $conn; 
@$sql = "Select * From List"; 
@$rs = $conn->Execute($sql); 
while(!$rs->Eof){ 
echo "| <a href=\"?classid=" . $rs->Fields[2]->value . "\">" . $rs->Fields[1]->value . "</a> "; 
$rs->MoveNext(); 

echo "| <a href=\"?admin=login\">后台管理</a>\r\n"; 
$rs->Close(); 
if(@$_SESSION["ARTICLEADMIN"] == "BY_PHP_ARTICLE"){ 
echo "<br />管理选项-> | <a href=\"?admin=class\">分类管理</a> | <a href=\"?admin=insert\">发表文章</a> | <a href=\"?admin=list\">文章列表</a> | <a href=\"?admin=logout\">退出登陆</a>"; 


//================================== 
//文章列表:article_list(文章分类ID) 
//================================== 
function article_list($str){ 
global $conn; 
@$sql = "Select id,by_title,by_name,by_time,by_count From Article Where by_class = " . $str . " Order By id desc"; 
@$rs = $conn->Execute($sql); 
if(!$rs->Eof){ 
echo "<table border=\"0\" cellspacing=\"1\" cellpadding=\"0\" bgcolor=\"#cccccc\">\r\n" 
. " <tr bgcolor=\"#F3F3F3\" align=\"center\">\r\n" 
. " <td>文章标题</td><td>文章作者</td><td>发表时间</td><td>浏览次数</td>\r\n" 
. " </tr>\r\n"; 
while(!$rs->Eof){ 
echo " <tr bgcolor=\"#FFFFFF\">\r\n" 
. " <td><a href=\"?artid=" . $rs->Fields[0]->value . "\">" . $rs->Fields[1]->value . "</a></td><td>" . $rs->Fields[2]->value . "</td><td>" . date("Y-m-d H:i:s",$rs->Fields[3]->value) . "</td><td>" . $rs->Fields[4]->value . "</td>\r\n" 
. " </tr>\r\n"; 
$rs->MoveNext(); 

echo "</table>\r\n"; 

else { 
echo "<br />该分类不存在或暂时没有任何文章!"; 

$rs->Close(); 

//================================== 
//文章详细:article_look(文章ID) 
//================================== 
function article_look($str){ 
global $conn; 
@$sql = "Select * From Article Where id = " . $str; 
@$rs = $conn->Execute($sql); 
@$usql= "Update Article Set by_count = (by_count + 1) Where id = " . $str; 
$conn->Execute($usql); 
if(!$rs->Eof){ 
@$body = $rs->Fields[5]->value; 
$body = str_replace("[url=file://%22,%22%22,$body/]\\","",$body[/url]); 
echo "<table border=\"0\" width=\"60%\" cellspacing=\"1\" cellpadding=\"0\" bgcolor=\"#cccccc\">\r\n" 
. " <tr bgcolor=\"#F3F3F3\" align=\"center\">\r\n" 
. " <td style=\"font-size:14px;font-weight:bold\">" . $rs->Fields[1]->value . "</td>\r\n" 
. " </tr>\r\n" 
. " <tr bgcolor=\"#F3F3F3\" align=\"center\">\r\n" 
. " <td>文章作者:" . $rs->Fields[2]->value . " | 发表时间:" . date("Y-m-d H:i:s",$rs->Fields[3]->value) . " | 浏览次数:" . $rs->Fields[4]->value . "</td>\r\n" 
. " </tr>\r\n" 
. " <tr bgcolor=\"#FFFFFF\">\r\n" 
. " <td>" . $body . "</td>\r\n" 
. " </tr>\r\n" 
. " <tr bgcolor=\"#F3F3F3\">\r\n" 
. " <td align=\"right\">【 <a href=\"javascript:history.back();\">返 回</a> 】  【 <a href=\"javascript:print();\">打 印</a> 】  【 <a href=\"javascript:close();\">关 闭</a> 】</td>\r\n" 
. " </tr>\r\n" 
. " </table>\r\n" 
. " <script language=\"JavaScript\">document.title += \"--" . $rs->Fields[1]->value . "\";</script>\r\n"; 

else { 
echo "<br />该文章不存在或已被管理员删除!"; 

$rs->Close(); 

//================================== 
//后台:分类管理 
//================================== 
function admin_class(){ 
global $conn; 
@$sql = "Select * From List"; 
@$rs = $conn->Execute($sql); 
echo "<form action=\"\" method=\"post\" name=\"frm\">\r\n"; 
while(!$rs->Eof){ 
echo "类别:<input type=\"text\" value=\"" . $rs->Fields[1]->value . "\" name=\"class_" . $rs->Fields[0]->value . "\" /> 编号:<input type=\"text\" value=\"" . $rs->Fields[2]->value . "\" name=\"class_cid_" . $rs->Fields[0]->value . "\" /> <input type=\"button\" value=\"修改\" onclick=\"frm.action='?admin=class&class=edit&id=" . $rs->Fields[0]->value . "';submit();\" /> <input type=\"button\" value=\"删除\" onclick=\"frm.action='?admin=class&class=del&id=" . $rs->Fields[0]->value . "';submit();\" /><br />\r\n"; 
$rs->MoveNext(); 

echo "类别:<input type=\"text\" name=\"class_name\" /> 编号:<input type=\"text\" name=\"class_cid\" /> <input type=\"button\" value=\"增加\" onclick=\"frm.action='?admin=class&class=add';submit();\" /> <input type=\"button\" value=\"闲置\" disabled />\r\n" 
. "</form>\r\n"; 
//增加一个类别 
if(@$_GET["class"] == "add"){ 
if(@$_POST["class_name"] == "" || @$_POST["class_cid"] == ""){ 
echo "<br />填写不完整!"; 
echo "<script language=\"JavaScript\">setTimeout(\"history.back();\", 2000);</script>"; 
exit(); 

else { 
@$sql = "Insert into List(by_list,by_cid) Values('" . $_POST["class_name"] . "' , '" . $_POST["class_cid"] . "')"; 
$conn->Execute($sql); 
echo "<br />添加成功!"; 
echo "<script language=\"JavaScript\">setTimeout(\"window.location.href='?admin=class';\", 2000);</script>"; 


//修改一个类别 
if(@$_GET["class"] == "edit"){ 
if(@$_POST["class_" . $_GET["id"]] == "" || @$_POST["class_cid_" . $_GET["id"]] == ""){ 
echo "<br />填写不完整!"; 
echo "<script language=\"JavaScript\">setTimeout(\"history.back();\", 2000);</script>"; 
exit(); 

else { 
@$sql = "Update List Set by_list = '" . $_POST["class_" . $_GET["id"]] . "' , by_cid = '" . $_POST["class_cid_" . $_GET["id"]] . "' Where id = " . $_GET["id"]; 
$conn->Execute($sql); 
echo "<br />修改成功!"; 
echo "<script language=\"JavaScript\">setTimeout(\"window.location.href='?admin=class';\", 2000);</script>"; 


//删除一个类别 
if(@$_GET["class"] == "del"){ 
@$sql = "Delete From List Where id = " . $_GET["id"]; 
$conn->Execute($sql); 
echo "<br />删除成功!"; 
echo "<script language=\"JavaScript\">setTimeout(\"window.location.href='?admin=class';\", 100);</script>"; 


//================================== 
//后台:发表文章(支持HTML) 
//================================== 
function admin_insert(){ 
global $conn; 
if(@$_GET["innert"] == "add"){ 
if(@$_POST["title"] == "" || @$_POST["name"] == "" || @$_POST["class"] == "" || @$_POST["body"] == ""){ 
echo "<br />填写不完整!"; 
echo "<script language=\"JavaScript\">setTimeout(\"history.back();\", 2000);</script>"; 
exit(); 

else { 
@$body = $_POST["body"]; 
$body = str_replace("'", "''", $body); 
$body = str_replace("\r\n", "<br />", $body); 
@$sql = "Insert into article(by_title,by_name,by_time,by_count,by_body,by_class) Values('" . $_POST["title"] . "' , '" . $_POST["name"] . "' , #" . date("Y-m-d G:i:s") . "# , 0 , '" . $body . "' , '" . $_POST["class"] . "')"; 
$conn->Execute($sql); 
echo "<br />添加成功!"; 
echo "<script language=\"JavaScript\">setTimeout(\"window.location.href='?admin=insert';\", 2000);</script>"; 


else { 
echo "<div style=\"width:590px;text-align:left\">\r\n" 
. "<form action=\"?admin=insert&innert=add\" method=\"post\">\r\n" 
. "文章标题:<input type=\"text\" name=\"title\" /><br />\r\n" 
. "文章作者:<input type=\"text\" name=\"name\" /><br />\r\n" 
. "文章类别:<select name=\"class\">\r\n"; 
@$sql = "Select * From List"; 
@$rs = $conn->Execute($sql); 
while(!$rs->Eof){ 
echo "<option value=\"" . $rs->Fields[2]->value . "\">" . $rs->Fields[1]->value . "</option>\r\n"; 
$rs->MoveNext(); 

echo "</select><br />\r\n" 
. "文章正文:<textarea cols=\"70\" rows=\"14\" name=\"body\"></textarea><br />\r\n" 
. "<center><input type=\"submit\" value=\"提交\" /> <input type=\"reset\" value=\"重置\" /></center>\r\n" 
. "</form>\r\n" 
. "</div>\r\n"; 


//================================== 
//后台:文章列表 
//================================== 
function admin_list(){ 
global $conn; 
@$sql = "Select id,by_title,by_name,by_time,by_count,by_class From Article Order By id desc"; 
@$rs = $conn->Execute($sql); 
if(!$rs->Eof){ 
echo "<table border=\"0\" cellspacing=\"1\" cellpadding=\"0\" bgcolor=\"#cccccc\">\r\n" 
. " <tr bgcolor=\"#F3F3F3\" align=\"center\">\r\n" 
. " <td>文章标题</td><td>文章分类<td>文章作者</td><td>发表时间</td><td>浏览次数</td><td>操作</td>\r\n" 
. " </tr>\r\n"; 
while(!$rs->Eof){ 
@$sql = "Select * From List Where by_cid = " . $rs->Fields[5]->value; 
@$crs = $conn->Execute($sql); 
@$cid = $crs->Fields[1]->value; 
echo " <tr bgcolor=\"#FFFFFF\">\r\n" 
. " <td><a href=\"?artid=" . $rs->Fields[0]->value . "\">" . $rs->Fields[1]->value . "</a></td><td>" . $cid . "</td><td>" . $rs->Fields[2]->value . "</td><td>" . $rs->Fields[3]->value . "</td><td>" . $rs->Fields[4]->value . "</td><td><a href=\"?admin=list&list=edit&id=" . $rs->Fields[0]->value . "\">编辑</a> | <a href=\"?admin=list&list=del&id=" . $rs->Fields[0]->value . "\">删除</a></td>\r\n" 
. " </tr>\r\n"; 
$crs->Close(); 
$rs->MoveNext(); 

echo "</table>\r\n"; 

else { 
echo "<br />该分类不存在或暂时没有任何文章!"; 

$rs->Close(); 
//修改文章 
if(@$_GET["list"] == "edit"){ 
if(@$_GET["edit"] == "true"){ 
if(@$_POST["title"] == "" || @$_POST["name"] == "" || @$_POST["class"] == "" || @$_POST["body"] == ""){ 
echo "<br />填写不完整!"; 
echo "<script language=\"JavaScript\">setTimeout(\"history.back();\", 2000);</script>"; 
exit(); 

else { 
@$body = $_POST["body"]; 
$body = str_replace("'", "''", $body); 
$body = str_replace("\r\n", "<br />", $body); 
@$sql = "Update article Set by_title = '" . $_POST["title"] . "' , by_name = '" . $_POST["name"] . "' , by_count = " . $_POST["count"] . " , by_body = '" . $body . "' , by_class = '" . $_POST["class"] . "' Where id = " . $_GET["id"]; 
$conn->Execute($sql); 
echo "<br />修改成功!"; 
echo "<script language=\"JavaScript\">setTimeout(\"window.location.href='?admin=list';\", 2000);</script>"; 


else { 
@$sql = "Select * From Article Where id = " . $_GET["id"]; 
@$rs = $conn->Execute($sql); 
echo "<div style=\"width:590px;text-align:left\">\r\n" 
. "<form action=\"?admin=list&list=edit&edit=true&id=" . $rs->fields[0]->value . "\" method=\"post\">\r\n" 
. "文章标题:<input type=\"text\" name=\"title\" value=\"" . $rs->fields[1]->value . "\" /><br />\r\n" 
. "文章作者:<input type=\"text\" name=\"name\" value=\"" . $rs->fields[2]->value . "\" /><br />\r\n" 
. "浏览次数:<input type=\"text\" name=\"count\" value=\"" . $rs->fields[4]->value . "\" /><br />\r\n" 
. "文章类别:<select name=\"class\" id=\"class\">\r\n"; 
@$sql = "Select * From List"; 
@$crs = $conn->Execute($sql); 
while(!$crs->Eof){ 
echo "<option value=\"" . $crs->Fields[2]->value . "\">" . $crs->Fields[1]->value . "</option>\r\n"; 
$crs->MoveNext(); 

$crs->close(); 
@$body = $rs->Fields[5]->value; 
$body = str_replace("<br />","\r\n",$body); 
echo "</select><br />\r\n" 
. "<script language=\"JavaScript\">\r\n" 
. "document.getElementById(\"class\").selectedIndex = " . $rs->fields[6]->value . " - 1;\r\n" 
. "</script>\r\n" 
. "文章正文:<textarea cols=\"70\" rows=\"14\" name=\"body\">" . $body . "</textarea><br />\r\n" 
. "<center><input type=\"submit\" value=\"提交\" /> <input type=\"reset\" value=\"重置\" /></center>\r\n" 
. "</form>\r\n" 
. "</div>\r\n"; 


//删除文章 
if(@$_GET["list"] == "del"){ 
@$sql = "Delete From Article Where id = " . $_GET["id"]; 
$conn->Execute($sql); 
echo "<br />删除成功!"; 
echo "<script language=\"JavaScript\">setTimeout(\"window.location.href='?admin=list';\", 100);</script>"; 


//================================== 
//权限验证 
//================================== 
function admin_session(){ 
if(@$_SESSION["ARTICLEADMIN"] != "BY_PHP_ARTICLE"){ 
echo "<br />请先登陆!"; 
echo "<script language=\"JavaScript\">setTimeout(\"window.location.href='?admin=login';\", 2000);</script>"; 
exit(); 


//================================== 
//后台登陆 
//================================== 
function admin_login(){ 
if(@$_SESSION["ARTICLEADMIN"] == "BY_PHP_ARTICLE"){ 
echo "<script language=\"JavaScript\">window.location.href='?admin=admin';</script>"; 

else{ 
echo "<table border=\"0\" cellspacing=\"1\" cellpadding=\"0\" bgcolor=\"#cccccc\">\r\n" 
. " <tr bgcolor=\"#F3F3F3\" align=\"center\">\r\n" 
. " <td><strong>管理员登陆</strong></td>\r\n" 
. " </tr>\r\n" 
. " <tr bgcolor=\"#FFFFFF\">\r\n" 
. " <form method=\"post\" action=\"?admin=check\">\r\n" 
. " <td><input type=\"password\" name=\"adminPass\" /><input type=\"submit\" value=\"确定\" /></td>\r\n" 
. " </form>\r\n" 
. " </tr>\r\n" 
. "</table>\r\n"; 


//================================== 
//登陆验证 
//================================== 
function admin_check(){ 
if(trim($_POST["adminPass"]) != "admin"){ 
echo "<br />错误的密码!"; 
echo "<script language=\"JavaScript\">setTimeout(\"history.back();\", 2000);</script>"; 

else { 
echo "<br />登陆成功!"; 
@$_SESSION["ARTICLEADMIN"] = "BY_PHP_ARTICLE"; 
echo "<script language=\"JavaScript\">setTimeout(\"window.location.href='?admin=admin';\", 2000);</script>"; 


//================================== 
//URL参数列表 
//================================== 
function page_load(){ 
@$classid = $_GET["classid"]; 
if($classid != ""){ 
if(!is_numeric($classid)){ 
echo "<br />错误的参数!"; 
return false; 

else { 
article_list($classid); 


@$artid = $_GET["artid"]; 
if($artid != ""){ 
if(!is_numeric($artid)){ 
echo "<br />错误的参数!"; 
return false; 

else { 
article_look($artid); 


@$admin = $_GET["admin"]; 
if($admin == "login"){ 
admin_login(); 

if($admin == "check"){ 
admin_check(); 

if($admin == "admin"){ 
admin_session(); 
echo "<br />登陆成功!请选择功能菜单进行操作."; 

if($admin == "logout"){ 
session_destroy(); 
echo "<br />已成功退出!"; 
echo "<script language=\"JavaScript\">setTimeout(\"window.location.href='?admin=login';\", 2000);</script>"; 

if($admin == "class"){ 
admin_session(); 
admin_class(); 

if($admin == "insert"){ 
admin_session(); 
admin_insert(); 

if($admin == "list"){ 
admin_session(); 
admin_list(); 

if($classid == "" && $artid == "" && $admin == ""){ 
echo "<script language=\"JavaScript\">window.location.href='?classid=1';</script>"; 


?> 
<div style="width:100%;text-align:left;background:#cccccc;line-height:20px;"> 
<br /><br /><br />文章分类-> <?=article_menu();?> 
</div> 
<?=page_load();?> 
<?php 
$conn->Close(); 
?> 
</body> 
</html>