摘  要

管理系统是根据课程网站的需求而设计和实现的,主要  用于实现课程系统办公人员对其办公系统内所有公务员进行管理,实现对员工信息的查询、录入、修改和删除;以及发布重要通知、最新信息和规章制度。通过“网上办公,无纸办公”,大大提高办公效率,体现现代政府的高效职能。

关键词:     PHP, MySql, Apache, 数据库,数据库实现,数据源 ,电子
                        课程

  

ABSTRACT

Ministry of Personnel Management Subsystem(MPMS)isdesigned and implements the function  ,  in the need of  the E-GovernmentAffair Net.  And currently it mainly uses for implementing the officer in GovernmentAffair System manages all the clerks in its office system efficiently,and implements searching and inserting and modifying and deleting for the information of all clerks,issuing important notice and lately personnel information , bylaws and so on. With ‘Work on net, Work without paper’, that improves the efficiency of handling office business highly, that embodies the powerful capability of the modern government.

Keywords:PHP, Mysql, Apache, database, DB implement, data source,E-GovermentAffair .

第一       引言

§1.1 问题的提出

在电子计算机技术发展日新月异的今天,计算机技术、网络技术和信息技术的发展和应用早已深入到了各行各业,并发挥着它们的巨大潜力,特别是网络的高速化、广泛化发展和运用。在我国,各类企业的改革,一切都在朝着社会化、高效化、智能化发展,管理体制的改革更是进行着大手笔。但是,国家政府职能的改革程度还远远不够。课程网站络管理系统是计算机技术和网络迅速发展的一个政府办公应用解决方案。课程网站络管理系统将Internet网络技术与现代管理观念相融合,针对信息技术的特点对办公系统进行规划和重构,对政府内部信息流进行优化及合理配置,生成动态的、安全的、专有的数字化信息源,将办公体系全面自动化,流程化,数字化。以此为桥梁,横向连接同事间的交流与协同工作,纵向实现上下级一体化的高效办公体系,从而更明确、更有效地支持政府的管理和决策。

§1.2 设计方案

本系统采用B/S结构,所有的程序及数据都放在服务器上,终端在取得相应的权限后使用Web页面浏览,录入,修改等功能。在语言方面使用PHP语言,在数据库上我们为了节约成本,采用了免费的MySQL数据库(当然,也可以移植到Oracle上),服务器使用Apache Web服务器。

处理流程如下图:

§1.2.1 功能要求

通过“网上办公,无纸办公”,课程办公系统充分利用强大的网络资源,方便快捷、即时高效完成政府办公。课程管理系统包括个人办公平台、领导办公、行政办公管理、公文管理、信访管理、管理、财务管理、系统管理、电子邮件系统、公共信息等十一主要功能模块组成,利用页面和数据库实现,体现出交互式网络办公。本子系统属于管理模块,将完成对政府系统中所有员工的个人信息和详细信息、部门的简要信息和详细信息、个人信息的管理、工资信息的管理、考勤的管理等功能。本系统具有一定的实用性。

§1.2.2   实现形式

采用页面对话交互方式进行,把页面形成工具(DREAMWAVER4)和动态编辑工具(PHP)以及强大的数据库支持(MYSQL)融为一体,达到完成功能块目的。要求该功能块具有整个系统的统一风格。

§1.2.3  具体内容

(一)   标题栏部分

采用“课程网站”统一标题头,即:左为“网上办公,无纸办公”图片,右为“人民政府为人民”,下为其他功能模块的超链接。

(二)   主体部分

(1)、规章制度:主要介绍政府机关进行管理的有关实施条例或制度,包括管理制度(细则A、细则B)、责权划分表、考核规定、员工守则、员工聘用规定、员工聘用合同(正式、短期)、员工引荐担保规定、劳动合同书规定、高级职员聘任书、服务自愿书等。

(2)、重要通知:主要用于单位发布有关重要通知,由新闻发布系统完成。

(3)、最新信息:主要用于单位发布有关最新信息,由新闻发布系统完成。

(4)、信息查询:该模块提供个人信息的简要查询和详细查询,部门的员工信息简要查询和详细查询。

(5)、管理员登录模块:主要用于管理员的登录,即设置管理员的权限,包括个人信息的录入、修改、删除管理,新闻发布管理、工资信息的管理、考勤信息的管理、相片信息的管理等。

(6)、相关功能链接栏:主要用于适应用户扩展功能,因为本系统目前为试用版,会根据用户需求的改变进行功能设计与实现。

§1.3  系统运行环境

本子系统承接课程系统,对运行环境的要求是:

§1.3.1   硬件需求

下列的配置是本次实际操作中的配置:

  • 兼容Intel486等级以上的PC电脑。
  • 64M以上的RAM。
  • 15GB以上的硬盘空间。
  • 48倍速以上的光驱。
  • 1.44软驱。

实际操作中可以略低于此配置。

§1.3.2   软件需求

本系统采用了目前最佳组合-LAMP,即:Linux + Apache +  MySQL +PHP, 该组合具有更稳定、高效能、更经济的特点。

  • 操作系统-Linux,采用“飓风Linux”。
  • Web服务器软件-Apache。
  • 数据库服务器与用户端软件-MySQL。
  • 页面应用软件-PHP4。

除了上面这些动态网页开发环境的需求,还有一些时在安装时需要的软件,在Linuz系统中都可以找到或到网上下载:

  • C语言编辑器-将C语言源文件编译成可执行软件的工具。
  • Apxs-制作Apache动态模块的工具。
  • SecureEdit-跨平台上传文件的工具。

本次开发过程是:先在Window下编写代码,然后上传到服务器进行调试。

第二章  设计的理论依据

§2.1  Linux + Apache + MySQL  +  PHP  最优组合

现在的“网络生态”已经不能只有展示的功能,凡是网上下单、网络购物、检索查找等都是在网上随处可见的服务。这些功能的运作都牵涉到用户的选择、输入数据以及服务端处理数据与回应等动作,所以这样的网页即为互动式网页。也正是本系统所要采用的网络形式。

在HTML文件的结构下使用互动式网页就必须在服务器端另外增加这些处理信息的功能,通常是针对用途写一个网页应用程序来负责处理。而以互动式网页存取得数据当然必须能长时间储存,所以网页应用程序就要能存取数据库,在浏览器上显示互动式网页,如下图所示:

通过以上的介绍您应该已经知道,如果是一个网站内容提供者(ICP),要提供互动式网页的服务,必须要有WWW服务器,网页应用程序数据库这三个成员,当然它们都必须在操作系统下执行,所以把操作系统也算在内总共四项软件。本系统采用了当今最佳组合――LAMP。

LAMP就是Linux、Apache、MySQL加上PHP。首先是Linux操作系统(免费!),这两年在PC地舞台上大放光明,尤其在server地使用上悄然威胁微软的地位。Web服务器Apache(免费!)在全球的website有极大的使用率。数据库MySQL (免费! ), 一个快速、稳定的SQL数据库服务器。PHP(免费! ), 扮演处理互动式信息的网页应用程序的角色。除了稳定、高效能之外,它们均免费,是最经济的选择,而且丰富的网络资源与众多的高手绝对不会让你求教无门。

§2.2、PHP, Apache, Mysql , Linux介绍

§2.2.1  PHP 简介

PHP的全名即是Hypertext Processor,最早的名称由来则是来自PHP Tools(Personal HomePage Tools),PHP的程序引擎是一个公布源代码的Open Source 成员。PHP是一种“服务器端的HTML嵌入式的描速语言(HTML - embedded   scripting language)”。其语法混合了C、Java、Perl以及PHP式的新式语法,它比CGI或者Perl可更快速地执行动态网页,同时PHP的数据库层操作功能强大,这使得PHP语言这几年飞速发展,风靡全球。

以下是PHP的基本特点:

  • 开放源代码――所有的源代码都可以得到。
  • 免费使用――PHP是一个免费软件,尽可放心使用。
  • 基于服务器端――由于PHP是在Web服务器端运行的,所以它的程序可以很大、很复杂而不会降低客户端的运行速度。
  • 跨平台――PHP程序可以在UNIX、Linux或者Windows操作系统下运行。
  • 嵌入HTML――PHP语言可以嵌入到HTM内部,则易学。

还有语言简单、效率高、分析XML、数据库模块、文件存取、文本处理、复杂的变量,图象处理等特点。

最新PHP4.0的特点:

  • 别名――通过引用别名为变量赋值,给编程带来极大方便。
  • 扩充了API模块――提供扩展接口模块。
  • 个性化的Java支持――PHP4.0和Java的交互。
  • 对象和数组嵌套――实现功能更加强大的对象以及数组嵌套。
  • 面向对象的编程――为面向对象的编程、构造类以及对象提供扩展的功能和新特征。

还包括如自动资源释放、布尔类型、进程生成、COM/DCOM支持、与PHP3.0的兼容性很好、配置、加密支持、类型检查、FTP支持、PHP4新增函数或功能增强函数、“Here”打印、HTTP Session fallback系统、ISAPI支持、内存、多维数组、其他类成员函数、对象重载支持、输出缓冲支持、支持引用等特点。编写好后,将其放在服务器的提供的Web的目录里,通过IE浏览器可看到结果“我的第一个PHP程序!”。具体语法参考PHP4.0相关书籍。

§2.2.2   Apache 简介

本系统的操作所使用的web服务器软件为Apache。Apache是目前全世界的网站使用最多的服务器。在2000年2月十全世界有58.08%的使用率。同样地,Apache的优点也是稳定、快速与开放,同时也有众多的功能,并且可以在不同操作系统下执行。前面的内容已经介绍了web 服务器负责完成传送显示在浏览器的 HTML 文件内容,而数据处理就是 PHP 程序的工作了。所以在服务主机使用PHP时必须将解读PHP程序代码的功能加到Apache ,也就是按装Apache 的PHP 模块(module)。以往如果要加入PHP模块,就必须先将PHP的源代码编译成Apache 的模块,再将Apache加上PHP功能模块重新编译。从PHP3开始就支持了Apache 的动态共享对象(Dynamic Shared Object , DSO)模块的功能,也就是说PHP3可以编译DSO模块,Apache 只需在需要执行时调用PHP3模块就可以使用PHP3的功能。这样以来,即使修改PHP、换装新版本或是重新安装PHP都可以不必 动用Apache ,当然PHP4 也可以编译DSO模块。

§2.2.3   MySQL 简介

MySQL数据库系统与PHP整合使用是一个高效率的组合。MySQL是一个多用户(Multi-user)、多线程(Multi-thread)的SQL数据库系统,使用目前最普遍地数据库标准语言:SQL(Structured Query Language)。MySQL包括了服务器端程序与多种 用户端程序及程序库,并且可以在不同平台执行。其特点还有稳定、快速与高灵活性等。

MySQL有瑞典的T.c.X DataKonsultAB公司开发出来,开发的主要目的就是以快速、健全以及使用微目标,最初的开发即是因为该公司需要能在廉价的主机上执行,优于当时各种商用数据库,且快速管理庞大数据库的SQL服务器。MySQL是一个还在开发中的数据库系统,但是其效能已经非常优秀。在MySQL网站(http://www.mysql.org)上你可以看到它们的使用记录是以管理40个以上的数据库,超过10000个表,同时其中还有500个以上的表超过7百万记录,而这些数据总共超过了10Gbytes的容量。

§2.2.4   Linux简介

操作系统最好的选择当然是使用面费又稳定的Linux系统。Linux是在1991年发展起来的与UNIX兼容的操作系统,可以免费使用,它的源代码可以自由传播且可任人修改、充实、发展。Linux本身是一个完整的32位的多用户、多任务操作系统。而本次开发过程使用的版本是飓风软件公司出品的国产Linux操作系统。它是经汉化后形成的Linux操作系统。凡是Linux操作系统均可到网上下载。

§2.3   安装及注意事项

LAMP (Linux + Apache + MySQL + PHP/Perl/Python) 近几年来,已经成为Web 社区的事实标准。我们将介绍LAMP组合的安装,假定你的机器上已经安装了Linux ,如果你对Linux 的安装还有什么问题的话,可以去相关的一些开放源码站点论坛上发表贴子,向其他网友寻求帮助。也可以向相关的厂商寻求技术支持。本文的LAMP中的 P,暂时解释为PHP,A解释为Apache,M解释为MySQL,L当然解释为Linux。所有LAMP组合中的软件都是开放源代码产品,所以您不必担心产品的价格以及版权问题。相反,有广大的开放源码社区开发人员的不断努力,这些产品的版本更新速度反而比那些昂贵的专有软件更快。虽然Linux 因为界面问题,会让您望而却步,但是您不必担心,现在,这些软件都采用了浏览器管理界面,好多都提供phpMyAdmin(一个利用PHP 语言在浏览器上管理MySQL的程序)以及WebMin(通过浏览器来管理系统)来让您方便的管理系统。PHP现在的版本已经到了4.0.4pl1,是一门面向对象的交叉平台的服务器端脚本语言。可以嵌入HTML语言中,可以作为Apache 的模块来运行。下面我们以 tarball(.tar.gz)格式(和它相对的是RPM 格式)的版本为例子,来介绍安装过程。

安装过程

1)安装Mysql
因为RPM包安装非常简单而且成功率高所以我选择这种安装方式。
 方法:
  在Xwindows下双击此文件就可以了。在提示符下输入:
rpm -i MySQL-3.23.38-1.i386.rpm 
2)安装Apache和PHP
 注:Apache和PHP是在一起安装的,这一点一定要理解。
步骤如下:
a、先确定Apache安装后的路径
b、安装并编译PHP,把PHP作为Apache的模块安装到Apache的安装路径(即Apache的解压缩的路径)
c、安装并编译Apache 因为只有先把PHP作为Apache的模块安装到Apache的安装路径(即Apache的解压缩的路径),再安装Apache才能使Apache执行PHP文件。
开始安装:
 解压缩文件: 
tar zxvf Apache_1.3.9.tar.gz
tar zxvf PHP-4.0.2.tar.gz
配置Apache确定Apache安装后的路径
cd Apache_1.3.9 ./configure --prefix=/usr/local/apache
进入PHP的解压目录,输入:
./configure --with-apache=../Apache_1.3.9 --with-mysql --disable-debug --enable-track-vars 
注:"../Apache_1.3.9"表示Apache的解压路径,这个路径一定要正确,我是把Apache和PHP放在同一路径下解压的。 这样做就是让PHP作为Apache的模块和Apache一起安装。
下一步:编译、安装PHP到Apache的原始目录中
在提示符下输入:make
完成之后再输入:make install
再将php.ini.dist拷贝到这个目录:/usr/local/lib,并重命名为php.ini
cp php.ini.dist /usr/local/lib
最后一步是安装Apache
进入Apache的解压目录输入:
./configure --prefix=/usr/local/apache --activate-module=src/modules/php4/libphp4.a
接下来:make
make install
至此安装工作完成了。你还需要改动一些地方,才能让Apache执行PHP,如下:
 编辑Apache配置文件:
/usr/local/apache/conf/httpd.conf
找到这一行:AddType application/x-httpd-php4 .php4
去掉前面的“#”号。再加上下面的几行:
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php4
重新启动Apache: cd /usr/local/apache/bin ./apachectl restart
用下面这个文件在浏览器下测试Apache和PHP:
test.php
<?
phpinfo();
?>
如果出现了有关PHP的信息,说明你已经成功了!注意大小写!
利用PhpMyAdmin来管理Mysql:将解压后的PhpMyAdmin目录放到你的Apache的htdocs目录下,修改这个文件使之成为中文的界面:config.inc.php
找到有“english”单词的一行,将“english”改成“chinese_gb”存盘,这样就完成了。 这回再到浏览器下执行一下这个目录下的 index.php文件,这下应该出现Mysql的管理界面了而且还是中文,是不是很舒服!

第三章 开发过程

§3.1 设置服务器

这里主要是介绍Linux服务器中最重要的网络服务:
Web服务器的配置:
安装好Apache 服务器后,还需要根据实际情况完成各项参数的配置,其设置文件位于/www/httpd/conf/目录下,通常使用3个配置文件httpd.conf, access.conf 和srm.conf来配置Apache.
httpd.conf提供了最基本的服务器配置,是对守护进程httpd如何运行的技术描速;srm.conf是服务器的资源映射文件,告诉服务器各种文件的MIME类型,以及如何支持这些文件;access.conf用于配置服务器的访问权限,控制不同用户和计算机的访问权限。
用命令:#/www/bin/apachectl restart启动来设置各项参数。
        a. ServerType standalone       //可使httpd进行自我处        理,占用较少CPU资源
        b. ServerRoot “/usr/local”   //指定守护进程的运行目录
其他参数可根据实际需要设置。

§3.2 设置数据库

§3.2.1创建数据库和数据表

管理子系统所用的数据库名为:gov_dbbase;
   管理子系统所用的数据表有5项,名分别为:users(用户简要信息表),aducat(学历信息表),emergen(意外事故情况表),family(家属信息表),resume(个人简历表)。
用命令:# cd /var/www/html 回车,进入mysql所在目录;
        # mysql –p 回车,根据提示键入密码;
用命令:create database gov_dbbase;//完成创建数据库。
用命令:show databases;            //显示数据库。
用命令:use gov_dbbase;            //指定使用的数据库。

以下将完成各表项的创建:
创建users(用户简要信息)表
 CREATE TABLE users(                     //建立公务员个人信息表
//字段名称 字段类型(宽度)        空否          字段注释

ID       int(5)                 NOT NULL,    //公务员号
NAME     varchar(10)            NOT NULL,    //姓名
XB       varchar(6)             NULL,        //性别
MZ       varchar(10)            NULL,        //民族
BM       varchar(10)            NULL,        //部门
ZC       varchar(10)            NULL,        //职称
ZW       varchar(10)            NULL,        //职务
CSNY     date                   NULL,        //出生年月
XZDZ     varchar(40)            NULL,        //现住地址
MM       int(10)                NOT NULL     //密码
BMBM     int(5)                 NOT NULL,    //部门编码
ZWBM     int(5)                 NOT NULL,    //职务编码
MJ       int(5)                 NOT NULL     //秘级
 );
创建resume(个人简历)表: 
CREATE TABLE resume(                         //个人简历
//字段名称 字段类型(宽度)        空否          字段注释

JG       varchar(20)            NULL,        //籍贯
SG       int(3)                 NULL,        //身高
TZ       int(3)                 NULL,        //体重
XUX      varchar(2)             NULL,        //血型
STZK     varchar(4)             NULL,        //身体状况
HJ       varchar(20)            NULL,        //户籍
SFZH     int(19)                NULL,        //身份证号
HOBBY    varchar(50)            NULL,        //个人爱好
YB       int(10)                NULL,        //邮编
EML      varchar(20)            NULL,        //邮件地址
HYZK     varchar(4)             NULL,        //婚姻状况
ZZMM     varchar(10)            NULL,        //政治面貌
XZ       varchar(8)             NULL         //星座
);
创建family(家属信息)表:
CREATE TABLE family(                         //家属情况
//字段名称 字段类型(宽度)        空否          字段注释

JSCH1    varchar(10)            NULL,        //家属称呼1
JSCH2    varchar(10)            NULL,        //家属称呼2
JSCH3    varchar(10)            NULL,        //家属称呼3
JSXM1    varchar(10)            NULL,        //家属姓名1
JSXM2    varchar(10)            NULL,        //家属姓名2
JSXM3    varchar(10)            NULL,        //家属姓名3
JSXB1    varchar(10)            NULL,        //家属性别1
JSXB2    varchar(10)            NULL,        //家属性别2
JSXB3    varchar(10)            NULL,        //家属性别3
JSCSRQ1  varchar(10)            NULL,        //家属出生日期1
JSCSRQ2  varchar(10)            NULL,        //家属出生日期2
JSCSRQ3  varchar(10)            NULL,        //家属出生日期3 JSZY1    varchar(10)            NULL,        //家属职业1
JSZY2    varchar(10)            NULL,        //家属职业2
JSZY3    varchar(10)            NULL,        //家属职业3
JSGZDW1  varchar(40)            NULL,        //家属工作单位1
JSGZDW2  varchar(40)            NULL,        //家属工作单位2
JSGZDW3  varchar(40)            NULL,        //家属工作单位3
JSZZ1    varchar(40)            NULL,        //家属住址1
JSZZ2    varchar(40)            NULL,        //家属住址2
JSZZ3    varchar(40)            NULL         //家属住址3
);
创建emergen(意外事故情况)表:
CREATE TABLE emergen(                        //意外情况
//字段名称 字段类型(宽度)        空否          字段注释

YWLLR    varchar(10)       NULL,        //发生意外联络人
YWGX     varchar(10)       NULL,        //发生意外联络人关系
YWTX     varchar(40)       NULL,        //发生意外联络人通讯
YWDH     varchar(20)       NULL,        //发生意外联络人电话YWSYR    varchar(10)       NULL,        //发生意外受益人YWSYGX   varchar(10)       NULL,        //发生意外受益人关系YWSYTX   varchar(40)       NULL,        //发生意外受益人通讯YWSYDH   varchar(20)       NULL         //发生意外受益人电话
);
创建aducat(学历信息)表:
CREATE TABLE aducat(                         //教育情况
//字段名称 字段类型(宽度)      空否          字段注释

XL       varchar(10)            NULL,        //最高学历
SCHOOL   varchar(30)            NULL,        //毕业学校
GRADATE  date                   NULL,        //毕业时间
MAJOR    varchar(20)            NULL,        //专业
SPECI    varchar(40)            NULL,        //特长
LANGU    varchar(20)            NULL         //外语能力
);
用命令:show tables;                //显示所有已建表项。
用命令:describe users;             //显示users表各个字段。
其他表项类似操作。

§3.2.2  数据库连接
   为了保证程序的安全,编写独立的数据库连接功能程序:
<?php
do{include("../config.php");} while($sql=="");
//数据库所在的主机地址,localhost是本机地址
  $MYSQL_HOSTNAME = "localhost";
//数据库登录的用户名称
  $MYSQL_USERNAME = "root";
//数据库登录的密码
 // $MYSQL_PASSWORD = "";
//要登录的数据库的名称
 // $DATABASE = "gov_dbbase";
//数据库的连接操作
 $link_id=$sql;
?>

§3.2.3 创建数据源                                               用命令:# insert into users
          values(1003,’张三’,’男’,’汉’,’部’,’部长’,’工程师’,’1978-03-24’,’成都市人民南路3段3号’,
12345,6,4,3);其他表数据源类似插入。
用命令:# select * from users order by ID;可以查看所录入的数据源。
注:考勤管理和职员工资信息管理两部分的功能实现,由薪资管理模块和公共信息管理模块提供。

§3.3 系统功能实现
管理子系统作为课程的一个模块,将完成对政府系统中公务员的管理,目前包括规章制度、重要通知、最新信息、信息查询、管理员登录以及相关功能链接。其中以信息查询和管理员登录为主,将实现个人信息的简要和详细查询,部门中人员信息的简要和详细查询;人员信息的录入、修改、删除、工资管理以及考勤管理。采用页面交互式操作,用网页制作工具dreamwaver或其它工具实现,功能程序用php实现,将所有的程序放置在服务器上,通过apache提供;达到网上办公和无纸办公。可以参考以下功能模块图。
  系统功能模块图
    该功能模块图提供管理子系统中各模块之间的关系说明。功能模块图如下:

§3.3.1  系统登录
用户登录课程后,点击“管理”链接进入本子系统。

如下图示,进入管理子系统主页面:

§3.3.2  规章制度
管理规章制度栏,将向所有公务员提供各种咨询信息,为初到机关的员工讲解具体要求。通过点击即可链接到所要查看项目,可以进入该项的详细内容页面。其具体内容由用户方提供,粘贴到页面即可。如上图左示。

§3.3.3  重要通知
   重要通知栏,将由部或科发布其最近最新的通知,由管理员在新闻发布管理项,可以添加,修改,删除新闻。如上图中上示。

§3.3.4  最新信息
   最新信息栏,将由部或科发布其最近最新的信息,包括与本单位一切相关信息,仍由管理员在新闻发布管理项,可以添加,修改,删除新闻;通过点击相关项,可浏览其详细信息。如上图中下示。

§3.3.5  信息查询

程序实现://选择进入模块login1.php
      <? php              
 switch($choose):
  case "c1":
    require("infomation1.php");   break;
  case "c2":
    require("infomation2.php");   break;
  case "c3":
    require("depart1.php");   break;  
  case "c4":
    require("depart2.php");   break;
  default:
    require("m6_index.php");
endswitch;
?>

(a)、职员信息查询:将向员工用户提供公务员信息查询,即:员工简要信息查询和其详细信息查询。简要信息查询时,当输入员工的帐号和姓名,点击“确定”后,由程序search1.php提交到数据库中,根据ID和NAME从表users中提取数据返回infomation1.php显示;详细信息查询时,输入员工的帐号、姓名和密码,点击“确定”后由程序modify11.php提交到数据库中,根据ID、NAME和PASSW从表users以及aducat、emergen、family、resume中提取数据返回infomation2.php显示。

上图提供个人信息简要查询
程序实现: //个人简要信息search1.php
<?
 if($ID AND $NAME){ //判断输入信息,若正确则连接数据库
             do{ require("../config.php"); }while($sql==" ");              $str="SELECT NAME,XB,MZ,BM,ZC,ZW,ID,CSNY,XZDZ                         FROM users WHERE ID='$ID';";
$result=mysql_query($str,$sql);
mysql_close();//关闭数据库
$record=mysql_fetch_row($result);}?>//送出查询结果

上图提供个人信息详细查询 
程序实现://个人信息详细查询mofify11.php
 <?php        
 if($ID AND $NAME){ //判断输入信息,若正确则连接数据库
  do{require("../config.php");}while($sql=="");
       $str="SELECT * FROM  users WHERE ID='$ID';";                    $result=mysql_query($str,$sql);            $record1=mysql_fetch_array($result);
       $str2="SELECT * FROM  aducat WHERE ID='$ID';";            $result2=mysql_query($str2,$sql);            $record2=mysql_fetch_array($result2);
       $str3="SELECT * FROM  resume WHERE ID='$ID';";            $result3=mysql_query($str3,$sql);            $record3=mysql_fetch_array($result3);
       $str4="SELECT * FROM  family WHERE ID='$ID';";            $result4=mysql_query($str4,$sql);            $record4=mysql_fetch_array($result4);
       $str5="SELECT * FROM  emergen WHERE ID='$ID';";            $result5=mysql_query($str5,$sql);            $record5=mysql_fetch_array($result5);
       mysql_close();  }
  ?>

(b)、部门信息查询:部门简要信息查询和其详细信息查询。即:查询该部门员工的信息。部门简要信息查询时,只需输入部门名称,点击“确定”后,程序search2.php根据BM(部门名)提交到数据库中从表users,中查询到该部门所有员工的简要信息返回depart1.php显示。详细信息查询时,需输入你的姓名,帐号,密码,且必须是领导,职务编码为4。然后输入被查询者的姓名和帐号,点击“确定”,由程序depart12.php提交数据库从表users,aducat,emergen,resume,family中查询,返回到depart2.php显示。                                   上图提供部门信息简要查询
程序实现://部门信息简要查询search2.php
<?//判断输入信息,若正确则连接数据库
 do{require("../config.php");}while($sql==" ");
 if($BM){
$select="select * from users where BM='$BM';"; $result=mysql_query($select,$sql);
//$record=mysql_fetch_row($result);
$sn_index=mysql_num_rows($result); for($index=0;$index<$sn_index;$index++){
    $arr[$index]=mysql_fetch_array($result); };
mysql_close();}
?>

用list_display.php程序来实现逐条显示
<?//逐条显示
<TR align=center><TD ALIGN=CENTER><?echo $arr[$index][ID]?></TD>
<TD ALIGN=CENTER><?echo $arr[$index][NAME]?></TD>
<TD ALIGN=CENTER><?echo $arr[$index][XB]?></TD>
<TD ALIGN=CENTER><?echo $arr[$index][MZ]?></TD>
<TD ALIGN=CENTER><?echo $arr[$index][BM]?></TD>
<TD ALIGN=CENTER><?echo $arr[$index][ZC]?></TD>
<TD ALIGN=CENTER><?echo $arr[$index][ZW]?></TD>
<TD ALIGN=CENTER><?echo $arr[$index][CSNY]?></TD>
<TD ALIGN=CENTER><?echo $arr[$index][XZDZ]?></TD>
</TR>?>

上图提供部门信息详细查询

程序实现://部门详细信息查询depart12.php
<?//判断输入信息,若正确则连接数据库
if($ID AND $NAME AND $PASSW AND $OBJECTN AND $OBJECTID){
     do{ require("../config.php");}while($sql=="");
     $str=" SELECT ZWBM FROM users WHERE ID='$ID';";     $result=mysql_query($str,$sql);     $record=mysql_fetch_array($result);
 if($record[0]==4){  
   if($OBJECTID AND $OBJECTN){ //判断输入信息,若正确则连接数据库
                    do{require("../config.php");}while($sql=="");       $str="SELECT * FROM  users WHERE ID='$OBJECTID';";            $result=mysql_query($str,$sql);            $record1=mysql_fetch_array($result);
$str2="SELECT * FROM  aducat WHERE ID='$OBJECTID';";            $result2=mysql_query($str2,$sql);            $record2=mysql_fetch_array($result2);
$str3="SELECT * FROM  resume WHERE ID='$OBJECTID';";            $result3=mysql_query($str3,$sql);            $record3=mysql_fetch_array($result3);
$str4="SELECT * FROM  family WHERE ID='$OBJECTID';";            $result4=mysql_query($str4,$sql);            $record4=mysql_fetch_array($result4);
$str5="SELECT * FROM  emergen WHERE ID='$OBJECTID';";            $result5=mysql_query($str5,$sql);            $record5=mysql_fetch_array($result5);
mysql_close(); }   }  }
      ?>

§3.3.6   管理员模块
    登录时要求输入管理员的姓名、密码、帐号,此处设定为:姓名(SSSS)、密码(12345)、帐号(6666),点击“确定”后,由程序login2.php提交到数据库,根据输入的信息判断其是否为管理员,若是可进入。进入后,点击左边的各项即可链接到相应的功能项,继续操作。

 
程序实现:login2.php
//管理员登录功能程序
<?php//判断输入信息,若正确则连接数据库
do{ require("../config.php");}while($sql==" ");
 if($ID=="6666" and $NAME=="ssss" and $PASSW==12345){
 $select="select ID from users where ID='$ID' AND NAME='$NAME'

AND PASSW='$PASSW';";
 $result=mysql_query($select,$sql);  if($result){require("manager.php"); }
        else {
echo"您填入的信息有误,<a href=m6_index.php>请回上一页重新登录!</a>";}
mysql_close(); }
?>
登录成功后,进入管理员页面(manager.php),如下:
在页面的左侧选择操作项,右侧绿色区域为工作区。

(a)、职员信息录入:公务员号(ID)项必须录入数据,直接在文本框中录入数据,要求日期类的格式必须为“1990-09-09”,身高“170cm”,体重“65kg”,在录入界面中输入数据后,按“提交”后,由程序insert.php提交数据库,对users,aducat,emergen,resume,family五表插入数据;当提示数据录入成功后,点击返回,可继续录入。


程序实现://职员信息录入insert.php
<?php
     if($ID){ //判断输入信息,若正确则连接数据库
 do{require("../config.php");}while($sql=="");
 //向users表插入数据
$str="INSERT INTO users VALUES('$ID','$NAME','$XB','$MZ','$CSNY','$XZDZ','$ZC','$ZW','$BM','$BMBM','$ZWBM','$MJ','$PASSW','$HYZK','$ZZMM');";
//插入新数据
     if(!$str){ echo "can not insert data";
         exit;}
$result=mysql_query($str,$sql); //送出查询字符串        if($result==0){echo "can not query ";
         exit;}//向aducat表中插入数据
$str="INSERT INTO aducat VALUES ('$XL','$SCHOOL','$GRADATE','$MAJOR','$SPECI','$LANGU','$ID');";         //插入新数据
        if(!$str){echo "can not insert data";
         exit;}
   $result=mysql_query($str,$sql); //送出查询字符串        if($result==0){echo "can not query ";
         exit;}//向emergen表中插入数据
$str="INSERT INTO emergen VALUES ( '$YWLLR','$YWGX','$YWTX','$YWDH','$YWSYR','$YWSYGX','$YWSYTX','$YWSYDH','$ID');";//插入新数据
        if(!$str){echo "can not insert data";
         exit;}
$result=mysql_query($str,$sql); //送出查询字符串        if($result==0){echo "can not query ";
         exit;}
//向family表中插入数据
$str="INSERT INTO family VALUES ('$JSCH1','$JSXM1','$JSXB1','$JSCSRQ1','$JSZY1','$JSGZDW1','$JSZZ1',                        '$JSCH2','$JSXM2','$JSXB2','$JSCSRQ2','$JSZY2','$JSGZDW2','$JSZZ2',                        '$JSCH3','$JSXM3','$JSXB3','$JSCSRQ3','$JSZY3','$JSGZDW3','$JSZZ3',                        '$ID');";//插入新数据
        if(!$str){echo "can not insert data";
         exit;}
$result=mysql_query($str,$sql); //送出查询字符串        if($result==0){echo "can not query ";
         exit;}//向resume表中插入数据
$str="INSERT INTO resume VALUES ('$JG','$SG','$TZ','$XUX','$STZK','$HJ','$SFZH','$HOBBY','$YB','$EML','$HYZK','$ZZMM','$XZ','$ID');";//插入新数据
         if(!$str){echo "can not insert data";
        exit;}
$result=mysql_query($str,$sql); //送出查询字符串        if($result==0){echo "can not query ";
         exit;}//向base表中插入数据
$str="INSERT INTO base(id,name,password,bmbm,zwbm)                VALUES('$ID','$NAME','$PASSW','$BMBM','$ZWBM');";//插入新数据         if(!$str){echo "can not insert data";
         exit;}
$result=mysql_query($str,$sql); //送出查询字符串        if($result==0){echo "can not query ";
      exit;}
   mysql_close();//关闭数据库
  echo "添加数据成功!<a href=insert.php>返回</a>";}
 else
    {echo "添加数据不成功!<a href=insert.php>返回,请检查数据类型的正确性!</a>";}
?>
(b)、职员信息修改:在修改界面中,首先输入被修改者的帐号(ID)和姓名(NAME),点击“确定”后由程序modify11.php提交到数据库,首先将其原始数据搜索出返回到modify.php中显示,在此基础上对数据进行修改,修改完毕再由程序modify12.php提交到数据库对数据进行更新users,aducat,emergen,resume,family五表操作,提示修改成功后,可返回,继续下一次修改。                
程序实现:
//职员信息修改
<?
if($ID){                       //判断公务员号是否存在
      do{require("../config.php");}while($sql=="");
//update users table
$str="UPDATE users SET NAME='$NAME',XB='$XB',MZ='$MZ',CSNY='$CSNY',XZDZ='$XZDZ',          ZC='$ZC',ZW='$ZW',BM='$BM',BMBM='$BMBM',ZWBM='$ZWBM',MJ='$MJ',PASSW='$PASSW',HYZK='$HYZK',ZZMM='$ZZMM' WHERE ID='$ID';";   //更改数据if(!$str){
echo "can not update data";
 exit;}
$result=mysql_query($str,$sql); //送出查询字符串
if($result==0){echo "can not query ";
       exit;}
//update aducat table
$str="UPDATE aducat SET XL='$XL',SCHOOL='$SCHOOL',GRADATE='$GRADATE',MAJOR='$MAJOR',SPECI='$SPECI',LANGU='$LANGU' WHERE ID='$ID';";   //更改数据  if(!$str){
echo "can not update data";
 exit;}
$result=mysql_query($str,$sql); //送出查询字符串
if($result==0){
echo "can not query ";
         exit;}
//update emergen table
$str="UPDATE emergen SET //更改数据YWLLR='$YWLLR',YWGX='$YWGX',YWTX='$YWTX',YWDH='$YWDH',YWSYR='$YWSYR',YWSYGX='$YWSYGX',YWSYTX='$YWSYTX',YWSYDH='$YWSYDH' WHERE ID='$ID';";
if(!$str){
echo "can not update data";
 exit;}
$result=mysql_query($str,$sql); //送出查询字符串
if($result==0){
echo "can not query ";
         exit;}
//update family table
$str="UPDATE family SET SCH1='$JSCH1',JSXM1='$JSXM1',JSXB1='$JSXB1',JSCSRQ1='$JSCSRQ1',JSGZDW1='$JSGZDW1',JSZZ1='$JSZZ1',JSCH2='$JSCH2',JSXM2='$JSXM2',JSXB2='$JSXB2',JSCSRQ2='$JSCSRQ2',JSGZDW2='$JSGZDW2',JSZZ2='$JSZZ2',JSCH3='$JSCH3',JSXM3='$JSXM3',JSXB3='$JSXB3',JSCSRQ3='$JSCSRQ3',JSGZDW3='$JSGZDW3',JSZZ3='$JSZZ3' WHERE ID='$ID';";   //更改数据
if(!$str){
echo "can not update data";
 exit;}
$result=mysql_query($str,$sql); //送出查询字符串
if($result==0){
echo "can not query ";
         exit;}
//update resume table
$str="UPDATE resume SET           JG='$JG',SG='$SG',TZ='$TZ',XUX='$XUX',STZK='$STZK',HJ='$HJ',SFZH='$SFZH',HOBBY='$HOBBY',YB='$YB',EML='$EML',HYZK='$HYZK',ZZMM='$ZZMM',XZ='$XZ' WHERE ID='$ID';";   //更改数据
if(!$str){
echo "can not update data";
 exit;}
$result=mysql_query($str,$sql); //送出查询字符串
if($result==0){
echo "can not query ";
         exit;}
//update base table
$str="UPDATE base SET name='$XM',bmbm='$BMBM',zwbm='$ZWBM',password='$MM' WHERE id='$GWYH';";          //更改数据
if(!$str){
echo "can not update data";
         exit;}
$result=mysql_query($str,$sql); //送出查询字符串        if($result==0){
echo "can not query ";
         exit;}
mysql_close(); //关闭数据库
echo "数据修改成功!<a href=modify2.php>返回</a>";  }
?>

(c)、职员信息删除:在删除界面中,首先输入被删除者的帐号(ID)和姓名(NAME),点击“确定”后;程序delete.php根据ID提交到数据库查询是否有此人,然后将其删除,根据提示信息继续操作。
      

程序实现:delete.php
//职员信息删除
<!---Deleteuser php script begins here--->
<?php
if($ID and $NAME){ //判断输入信息,若正确则连接数据库
do{require("../config.php");}while($sql==" ");
//删除users表中某一信息
$deleteresult="DELETE FROM users where NAME='$NAME' AND ID='$ID'";  $result=mysql_query($deleteresult, $sql);
if(!result){
echo "can not query";
exit;}
$affected_rows=mysql_affected_rows( $sql);
//删除aducat表中某一信息
$deleteresult ="DELETE FROM aducat WHERE  ID='$ID'";  $result=mysql_query($deleteresult, $sql);
if(!result){
echo "can not query";
exit;}
$affected_rows=mysql_affected_rows( $sql);
//删除family表中某一信息

$deleteresult ="DELETE FROM family WHERE  ID='$ID'";  $result=mysql_query($deleteresult, $sql);
if(!result){
echo "can not query";
exit;}
$affected_rows=mysql_affected_rows( $sql);
//删除resume表中某一信息
$deleteresult ="DELETE FROM resume WHERE  ID='$ID'";  $result=mysql_query($deleteresult, $sql);
if(!result){
echo "can not query";
exit;}
$affected_rows=mysql_affected_rows( $sql);
//删除emergen表中某一信息
$deleteresult ="DELETE FROM emergen WHERE  ID='$ID'";  $result=mysql_query($deleteresult, $sql);
if(!result){
echo "can not query";
exit;}
$affected_rows=mysql_affected_rows( $sql);
//删除base表中某一信息
$deleteresult ="DELETE FROM base WHERE id = '$ID'";  $result=mysql_query($deleteresult, $sql);
if(!result){
echo "can not query";
        exit;}
$affected_rows=mysql_affected_rows( $sql);
mysql_close();
echo "<b>$NAME</b> 已经被成功的删除了.";}
?>

(d)、工资信息管理:具备录入,修改,删除;同上点击链接后,根据提示信息继续操作。该块由工资管理栏完成。

(e)、考勤管理:同上点击链接后,根据提示信息继续操作。该块由考勤管理完成。

(f)、新闻发布管理:目前由于时间原因暂未实现,若要实现可与系统主页中的新闻管理相似处理。
(g)、职员相片管理:目前由于时间原因暂未实现,具备相片上传、相片修改、相片删除功能。暂时实现相片上传功能,后继实现。

§3.3.7  相关功能链接
   该部分用于提供客户的功能扩展,暂未连接功能项,留待客户具体需求提出后实现。

第四章  结束语

  1. 成果
    基本满足用户要求,能够通过网络实现网上课程办公,进行管理。本管理子系统具有界面美观(大力推荐环保理念),操作方便,系统性能良好,具有较强的可移植性和安全性。
  2. 需改进和完善之处
    由于时间匆忙,本次设计有待几处改进:

(1)、对于庞大的管理系统,本子系统没能提供完整的功能,如考核考绩评定,请假休假管理,社会福利管理等,笔者无充足时间加以完善。
(2)、本子系统所涉及到的数据库库表较大,字段较多,有待优化。
(3)、对系统的使用说明文档不是很完整。
3、体会
   通过本次毕业设计,我充分体会到理论与实践之间的联系的重要性,怎样在实践中学习新的知识。与此同时,我对商务网站建设、Linux操作系统、PHP4.0、Apache、MySQL等相关知识都有较深了解和掌握。由于时间仓促,本次设计和运用只是其中的一部分,有待在将来的工作中进一步学习、掌握和运用。

在本次毕业设计过程中,我得到了很多老师和同学的指导和支持。在此特向张钟澍、徐虹、何嘉、李飞、徐振明五位老师表示真诚的感谢!同时也向管理层的阮晓东老师表示敬意,她把整个开发过程组织得有条不紊。感谢开发组的同学们给予积极的配合和支持!

第五章  参考文献

  1. Linux + PHP + MySQL   案例教程  刘志勇   
                                          中科多媒体电子出办社
  2. PHP & MySQL 动态网页入门实务(HTML、SQL与面向对象)
                                  位元文化 编著 中国青年出版社

PHP4.0与MySQL动态网站编程   冯燕奎  编著  清华大学出版社

点赞关注收藏,一键三连,私信拿源码

点赞关注收藏,一键三连,私信拿源码

点赞关注收藏,一键三连,私信拿源码

【毕业设计之PHP系列】PHP课程网站络管理系统相关推荐

  1. PHP课程网站络管理系统(源代码+论文)

    管理系统是根据课程网站的需求而设计和实现的,主要  用于实现课程系统办公人员对其办公系统内所有公务员进行管理,实现对员工信息的查询.录入.修改和删除:以及发布重要通知.最新信息和规章制度.通过&quo ...

  2. 【毕业设计】PHP课程网站络管理系统(源代码+论文)

    文章目录 目录 系统设计 系统实现 源文件 目录 系统设计 管理系统是根据课程网站的需求而设计和实现的,主要 用于实现课程系统办公人员对其办公系统内所有公务员进行管理,实现对员工信息的查询.录入.修改 ...

  3. 【免费毕设】PHP课程网站络管理系统(源代码+论文)

    3.3.1 系统登录 用户登录课程后,点击"管理"链接进入本子系统. 如下图示,进入管理子系统主页面: 3.3.5 信息查询 (a).职员信息查询:将向员工用户提供公务员信息查询, ...

  4. (附源码)计算机毕业设计SSM慧学IT精品课程网站

    (附源码)计算机毕业设计SSM慧学IT精品课程网站 项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(Int ...

  5. 计算机毕业设计java慧学IT精品课程网站

    最新200套计算机专业原创毕业设计参考选题都有源码+数据库是近期作品 如果题目不合适,可以评论留下题目,或add_用户名,有时间看到机会给您发 1 慧学IT精品课程网站 2 ssm临时停车收费系统 3 ...

  6. 毕业设计java 课程精品网站,java毕业设计_springboot框架的精品课程网站

    这是一个基于java的毕业设计项目,毕设课题为springboot框架的精品课程网站, 是一个采用b/s结构的javaweb项目, 开发工具eclipsei/eclipse, 项目框架jsp+spri ...

  7. [附源码]Python计算机毕业设计SSM慧学IT精品课程网站(程序+LW)

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  8. 【php毕业设计】基于php+mysql+apache的课程网站管理系统设计与实现(毕业论文+程序源码)——课程网站管理系统

    基于php+mysql+apache的课程网站管理系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于php+mysql+apache的课程网站管理系统设计与实现,文章末尾附有本毕业设计的 ...

  9. css网站结课设计,毕业设计(论文)-《DIV+CSS》课程网站的开发.doc

    专业: 教育技术学 专业: 教育技术学 学号: 1911120207 Hebei Normal University of Science & Technology 本科毕业设计 (人文科学) ...

最新文章

  1. (十二)springmvc+mybatis+dubbo+zookeeper分布式架构 整合 - zookeeper注册中心安装
  2. maven设置本地仓库路径
  3. HDU4311(排序+二分)
  4. android 语音通信,Android与PC间的语音通信
  5. 用GD32替代STM32,是什么体验?
  6. html溢出左右滚动,html-选项卡溢出时水平滚动
  7. 迎春舞会之数字舞蹈(洛谷-P1538)
  8. iis 7 安装php环境_iis7配置php环境图文教程
  9. 奥维中如何关闭gcj02坐标_QGIS入门知识:啥是坐标系
  10. MySQL数据库实验
  11. c语言数组回文数编写字符串,回文数C语言(示例代码)
  12. 基于深度学习的移动网络异常检测
  13. 计算机专业征兵,计算机应用工程系征兵宣传大会顺利召开──保家卫国,学子应征...
  14. 计算机与代数---如何计算sqrt---方法和实现
  15. 如何使用Aliyun容器镜像服务对海外gcr、quay仓库镜像进行镜像拉取构建?
  16. 专升本计算机的数学考不考正态分布,高考成绩不一定是正态分布
  17. hbase原理之bloomfilter篇
  18. linux RPM-GPG-KEY-6 错误解决方法
  19. {渡一教育}成哥HTML课程干货笔记整--7
  20. 关于问题“应用程序未安装或安装时出现「INSTALL_FAILED_CONTAINER_ERROR」”的解决方案方面的事情

热门文章

  1. 便捷网站或者工具(前端)
  2. 利用多线程与网络编程编写的实时聊天小程序
  3. python显示gif图片_利用Python制作GIF图片
  4. 使用c语言解析gprmc数据
  5. wps斜杠日期格式_wps表格,怎样将输入的日期间隔斜线改为横线?
  6. 工作20天之感悟(嵌入式开发)
  7. 【MySQL】MySQL的四种事务隔离级别
  8. java深入理解深拷贝和浅拷贝的区别 如何实现深拷贝和浅拷贝
  9. 音视频技术开发周刊 | 251
  10. 在线EXCEL编辑器-Luckysheet