选择显示字体大小

php+mysql的文章管理系统(一)

###############################################  
此篇文章属原创,如有引用,请标明作者信息。  
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 主要配置文件##########################
<?
&#36;host="localhost";                   #数据库主机
&#36;database_usn="cfeng.net";           ##数据库用户
&#36;database_pwd="cfeng.net";           ##数据库密码
&#36;database="cfeng.net";               ##数据库
&#36;table="cfeng.net";                  ##要存放文章的表
&#36;ping_tab="ping_tab1";               ##存放评论的表
&#36;admin_usn="leo";                    ##管理员用户名
&#36;admin_pwd="leo";                    ##管理员密码
&#36;admin_mail="leo_cdp@yeah.net";      ##管理员信箱
&#36;pagenum="20";                       ##每页显示文章数
&#36;sess=md5(&#36;admin_usn.&#36;admin_pwd);    ##登陆认证采用md5生成
?>
#####################func.php  函数文件 ###################################
<?
require "./inc/config.php";
function mscon()##数据库链接
{   
  global &#36;host,&#36;database_usn,&#36;database_pwd;
  @mysql_connect("&#36;host","&#36;database_usn","&#36;database_pwd") or die("对不起,数据库连接错误!请稍候再来,或与管理员联系");
}
function check_login()
{  global &#36;sess;
if(!session_is_registered("sess_0230a09a07cab1df8112d00b1f9a9719"))
   {
    if(&#36;sess_0230a09a07cab1df8112d00b1f9a9719!=&#36;sess)
       {
         redir("login.php");
         exit;
       }
   }
}
function redir(&#36;addr)
  {
    header("location:&#36;addr");
   }
function add_article()##本系统实行宽进严出所以添加文章部份显得略为简单!
{
   global &#36;database,&#36;table,&#36;title,&#36;cont,&#36;type,&#36;html;
   &#36;dat=date(y年m月d日);
   &#36;title=htmlspecialchars(&#36;title);
   &#36;query="insert into &#36;table(title,cont,type,time,html) values(&#39;&#36;title&#39;,&#39;&#36;cont&#39;,&#39;&#36;type&#39;,&#39;&#36;dat&#39;,&#39;&#36;html&#39;)";
   &#36;res=mysql_db_query("&#36;database",&#36;query);
   if(!&#36;res)
   echo mysql_error();
}
function add_hits(&#36;id)##添加浏览次数!
{
global &#36;database,&#36;table;
&#36;query="update &#36;table set hits=hits+1 where id=&#36;id";
   &#36;res=mysql_db_query("&#36;database",&#36;query);
}
function add_comm(&#36;id)##把本文加为推荐文章
{
global &#36;database,&#36;table;
&#36;query="update &#36;table set comm=1 where id=&#36;id";
   &#36;res=mysql_db_query("&#36;database",&#36;query);
}
function un_comm(&#36;id)##清除推荐!
{
global &#36;database,&#36;table;
&#36;query="update &#36;table set comm=&#39;0&#39; where id=&#36;id";
   &#36;res=mysql_db_query("&#36;database",&#36;query);
}
function add_lock(&#36;id)##锁定文章
{
global &#36;database,&#36;table;
&#36;query="update &#36;table set locked=&#39;1&#39; where id=&#36;id";
   &#36;res=mysql_db_query("&#36;database",&#36;query);
}

function un_lock(&#36;id)##清除锁定!
{
global &#36;database,&#36;table;
&#36;query="update &#36;table set locked=0 where id=&#36;id";
   &#36;res=mysql_db_query("&#36;database",&#36;query);
}
function add_p_num(&#36;id)##添加评论次数!
{
global &#36;database,&#36;table;
&#36;query="update &#36;table set p_num=p_num+1 where id=&#36;id";
   &#36;res=mysql_db_query("&#36;database",&#36;query);
}
function add_del(&#36;id)##删除文章!
{
global &#36;database,&#36;table;
&#36;query="delete from &#36;table where id=&#39;&#36;id&#39;";
   &#36;res=mysql_db_query("&#36;database",&#36;query);
}
########################setup.php 安装文件######################
<?  
session_start();
require"./inc/func.php";
check_login();
?>
<?
if(&#36;sub)
{
   &#36;file_cont="<?\n #don&#39;t edit thisfile use the setup.php\n";
   &#36;file_cont.="\&#36;host=\"&#36;host\";#your database server address\n";
   &#36;file_cont.="\&#36;database_usn=\"&#36;database_usn\";\n";
   &#36;file_cont.="\&#36;database_pwd=\"&#36;database_pwd\";\n";
   &#36;file_cont.="\&#36;database=\"&#36;database\";\n";
   &#36;file_cont.="\&#36;table=\"&#36;table\";\n";
   &#36;file_cont.="\&#36;ping_tab=\"&#36;ping_tab\";\n";
   &#36;file_cont.="\&#36;admin_usn=\"&#36;admin_usn\";\n";
   &#36;file_cont.="\&#36;admin_pwd=\"&#36;admin_pwd\";\n";
   &#36;file_cont.="\&#36;admin_mail=\"&#36;admin_mail\";\n";
   &#36;file_cont.="\&#36;pagenum=\"&#36;pagenum\";\n";
   &#36;file_cont.="\&#36;sess=md5(\&#36;admin_usn.\&#36;admin_pwd);\n";
   &#36;file_cont.="\n";
   &#36;file_cont.="?>";
   &#36;fp=fopen("./inc/config.php","w");
   if(fputs(&#36;fp,&#36;file_cont))
      echo "配置完成正检测各选项的正确性<br>";
   else echo "文件写入错误,请检测文件所在目录的权限<br>";
   fclose(&#36;fp);
      echo "正在检测数据连接.........." ;
   if(@mysql_connect("&#36;host","&#36;database_usn","&#36;database_pwd"))
      {
        echo  "成功!<br>" ;
        &#36;query="create table &#36;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 &#39;0&#39; not null,
                     p_num int(2) default &#39;0&#39; not null,
                     locked int(1) default &#39;0&#39; not null,
                     hits int(4) default &#39;0&#39; not null,
                     html int(1) default &#39;1&#39; not null,
                     primary key (id),
                     unique id (id),
                     key id_2 (id)
                     ) " ;
        if(mysql_db_query(&#36;database,&#36;query))
          echo"数据库 &#36;table 建立成功<br>".mysql_error();
        else
          echo"数据库 &#36;table 建立失败<br>";
        &#36;query="create table &#36;ping_tab (
                      id int(4) not null auto_increment,
                      p_id int(4) default &#39;0&#39; not null,
                      name varchar(50) not null,
                      mail varchar(200) not null,
                      p_cont text not null,
                      time datetime default &#39;0000-00-00 00:00:00&#39; not null,
                      ip varchar(15) not null,
                      primary key (id),
                      unique id (id),
                      key id_2 (id)
                      )";
        if(mysql_db_query(&#36;database,&#36;query))
          {
            echo"用户评论数据库 &#36;ping_tab 建立成功<br>恭喜,文章管理系统安装成功!请<a href=login.php>这边走</a>进行基本设置!<br>";
            &#36;fp=fopen("setup.php","r");
            &#36;file_cont=fread(&#36;fp,filesize("setup.php"));
            &#36;file_cont="<? \nsession_start();\nrequire\"./inc/func.php\";\n check_login();\n?>\n".&#36;file_cont;
            &#36;fp=fopen("setup.php","w");
            fputs(&#36;fp,&#36;file_cont);
            fclose(&#36;fp);
          }
        else
          echo"用户评论数据库&#36;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 &#36;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">
          &nbsp;&nbsp;
          <input type="reset" name="reset" value="reset" class="border">
        </div>
      </td>
    </tr>
  </table>
  <p>&nbsp; </p>
  </form>
<?require "./inc/footer.inc";?> 


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons