PHP+ACCESS 文章管理程序代码

 更新时间:2010年06月21日 16:00:27   作者:  
花了一天的时间,写了一个PHP操作ACCESS的演示整站示例程序(不包括分页和二级分类)
复制代码 代码如下:

<?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 "|&nbsp;<a href=\"?classid=" . $rs->Fields[2]->value . "\">" . $rs->Fields[1]->value . "</a>&nbsp;";
$rs->MoveNext();
}
echo "|&nbsp;<a href=\"?admin=login\">后台管理</a>\r\n";
$rs->Close();
if(@$_SESSION["ARTICLEADMIN"] == "BY_PHP_ARTICLE"){
echo "<br />管理选项->&nbsp;|&nbsp;<a href=\"?admin=class\">分类管理</a>&nbsp;|&nbsp;<a href=\"?admin=insert\">发表文章</a>&nbsp;|&nbsp;<a href=\"?admin=list\">文章列表</a>&nbsp;|&nbsp;<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 . "&nbsp;|&nbsp;发表时间:" . date("Y-m-d H:i:s",$rs->Fields[3]->value) . "&nbsp;|&nbsp;浏览次数:" . $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> 】&nbsp;&nbsp;【 <a href=\"javascript:print();\">打 印</a> 】&nbsp;&nbsp;【 <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 . "\" />&nbsp;编号:<input type=\"text\" value=\"" . $rs->Fields[2]->value . "\" name=\"class_cid_" . $rs->Fields[0]->value . "\" />&nbsp;<input type=\"button\" value=\"修改\" onclick=\"frm.action='?admin=class&class=edit&id=" . $rs->Fields[0]->value . "';submit();\" />&nbsp;<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\" />&nbsp;编号:<input type=\"text\" name=\"class_cid\" />&nbsp;<input type=\"button\" value=\"增加\" onclick=\"frm.action='?admin=class&class=add';submit();\" />&nbsp;<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=\"提交\" />&nbsp;<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>&nbsp;|&nbsp;<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=\"提交\" />&nbsp;<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 />文章分类->&nbsp;<?=article_menu();?>
</div>
<?=page_load();?>
<?php
$conn->Close();
?>
</body>
</html>

相关文章

  • PHP基于rabbitmq操作类的生产者和消费者功能示例

    PHP基于rabbitmq操作类的生产者和消费者功能示例

    这篇文章主要介绍了PHP基于rabbitmq操作类的生产者和消费者功能,结合实例形式分析了基于rabbitmq操作类的生产者和消费者定义与使用方法,需要的朋友可以参考下
    2018-06-06
  • 四个PHP非常实用的功能

    四个PHP非常实用的功能

    这篇文章主要介绍了四个PHP非常实用的功能,需要的朋友可以参考下
    2015-09-09
  • PHP调用Twitter的RSS的实现代码

    PHP调用Twitter的RSS的实现代码

    “守望轩”博客右侧边栏原来有个“杂感”的栏目,用来记录短的、不能大篇幅成文的短句,或者自己比较喜欢的短句和言论。
    2010-03-03
  • php解决约瑟夫环算法实例分析

    php解决约瑟夫环算法实例分析

    这篇文章主要介绍了php解决约瑟夫环算法,结合实例形式分析了约瑟夫环问题的原理、解决方法及相关算法实现技巧,需要的朋友可以参考下
    2019-09-09
  • php通过array_merge()函数合并关联和非关联数组的方法

    php通过array_merge()函数合并关联和非关联数组的方法

    这篇文章主要介绍了php通过array_merge()函数合并关联和非关联数组的方法,涉及php中array_merge()函数操作数组合并的技巧,需要的朋友可以参考下
    2015-03-03
  • php模拟实现斗地主发牌

    php模拟实现斗地主发牌

    这篇文章主要为大家详细介绍了php模拟实现斗地主发牌,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04
  • 从PHP的源码中深入了解stdClass类

    从PHP的源码中深入了解stdClass类

    这篇文章主要介绍了从分析PHP的源码角度深入了解stdClass类,并总结了stdClass类到底是是什么,需要的朋友可以参考下
    2014-04-04
  • PHP异步进程助手async-helper

    PHP异步进程助手async-helper

    这篇文章主要介绍了PHP异步进程助手async-helper的详细用法以及相关代码实例,对此有需要的朋友学习下。
    2018-02-02
  • PHP获取php,mysql,apche的版本信息示例代码

    PHP获取php,mysql,apche的版本信息示例代码

    下面为大家介绍个不错的示例可以直接获取PHP、MYSQL、Apache的版本信息,需要的朋友可以参考下
    2014-01-01
  • php数组查找函数总结

    php数组查找函数总结

    这篇文章主要介绍了php数组查找函数,总结了三个常用的数组查找函数,可用于关键词过滤,是非常实用的技巧,需要的朋友可以参考下
    2014-11-11

最新评论