程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP+MYSQL的文章管理系統(一)

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

編輯:PHP綜合
###############################################  
此篇文章屬原創,如有引用,請標明作者信息。  
Email: [email protected]
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="[email protected]";      ##管理員信箱
$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";?> 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved