【毕业设计之PHP系列】PHP课程网站络管理系统(二)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 【毕业设计之PHP系列】PHP课程网站络管理系统

第三章 开发过程

§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提供;达到网上办公和无纸办公。可以参考以下功能模块图。

 系统功能模块图

   该功能模块图提供管理子系统中各模块之间的关系说明。功能模块图如下:



a678affc5c3c4ab5928217300a705335.png


§3.3.1  系统登录

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


39420f01266c445bb4363a519f1ad126.png


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



b50836e56b294d0a8c79ab3d4d6b88cd.png


§3.3.2  规章制度

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


§3.3.3  重要通知

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


§3.3.4  最新信息

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



§3.3.5  信息查询


17558beffe0e4613a6c0221e289ebad2.png


程序实现:

//选择进入模块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显示。

197f0e927c3e40c18422370ff27018c7.png


                   上图提供个人信息简要查询

程序实现:

//个人简要信息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);}?>//送出查询结果



66b64ddc23824a0dad3953ccd14c16ee.png


                       上图提供个人信息详细查询

程序实现:

//个人信息详细查询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();  }
  ?>

66b64ddc23824a0dad3953ccd14c16ee.png

(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>?>


5eb22a89506a439c995ecdb0b5228c61.png


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


程序实现:

//部门详细信息查询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(); }   }  }
      ?>


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
12天前
|
存储 安全 PHP
PHP中实现简单身份验证系统的步骤
【8月更文挑战第31天】在构建Web应用程序时,确保用户身份的合法性和数据的安全性是至关重要的。本文将引导你通过使用PHP语言来实现一个简单的身份验证系统,从数据库设计到前端登录界面的创建,再到后端逻辑的处理,我们将一步步地走过整个流程。无论你是PHP新手还是希望复习相关知识,这篇文章都将为你提供清晰的指导和实用的代码示例。
|
20天前
|
关系型数据库 MySQL 应用服务中间件
win7系统搭建PHP+Mysql+Apache环境+部署ecshop项目
这篇文章介绍了如何在Windows 7系统上搭建PHP、MySQL和Apache环境,并部署ECShop项目,包括安装配置步骤、解决常见问题以及使用XAMPP集成环境的替代方案。
34 1
win7系统搭建PHP+Mysql+Apache环境+部署ecshop项目
|
10天前
|
PHP
PHP全自动采集在线高清壁纸网站源码
PHP全自动采集在线高清壁纸网站源码,PHP全自动采集在线高清壁纸网站源码,一款开源壁纸源码,无需安装。集合360壁纸,百度壁纸,必应壁纸,简单方便。每天自动采集,自动更新,非常不错,php源码 网站源码 免费源码 自动采集。
23 3
|
10天前
|
PHP 数据库
2024表白墙PHP网站源码
2024表白墙PHP网站源码
23 1
|
13天前
|
前端开发 关系型数据库 MySQL
最新黑名单查询录入系统PHP网站源码
最新黑名单查询录入系统PHP网站源码 前端html 后端layui 操作部分都采用API接口的方式实线 集结了layui表格的多数据操作,添加,批量删除,分页,单项删除 后台数据修改采用绑定参数的形式来进行修改可以很好的预防数据库注入,当然如果你想要测试这个防注入的你也可以尝试一下 PHP版本70+ 数据库Mysql 5.6 上传程序访问 http://你的域名/install 安装
34 0
|
14天前
|
前端开发 安全 JavaScript
PHP与现代Web开发:探索PHP在构建动态网站中的角色和优势
【8月更文挑战第29天】 在数字时代的浪潮下,PHP以其独特的灵活性、易用性以及强大的社区支持,持续成为Web开发领域的重要力量。本文将深入探讨PHP如何适应现代Web开发的需求,通过具体示例揭示PHP的实际应用,并分析其在面对新兴技术挑战时的应对策略。我们将一探究竟,PHP如何在众多编程语言中脱颖而出,成为许多开发者和企业的首选。
|
18天前
|
PHP
【Azure Developer】PHP网站使用AAD授权登录的参考示例
【Azure Developer】PHP网站使用AAD授权登录的参考示例
|
14天前
|
存储 SQL 关系型数据库
PHP与MySQL交互的奥秘
【8月更文挑战第29天】在编程的世界里,PHP和MySQL就像是一对默契的舞伴,共同演绎着数据的交响曲。本文将带你探索它们之间的互动,从连接数据库到执行查询,再到处理结果,每一步都充满了节奏与和谐。我们将一起走进这段代码的旅程,感受数据流动的魅力。
|
2天前
|
NoSQL 关系型数据库 MySQL
不是 PHP 不行了,而是 MySQL 数据库扛不住啊
【9月更文挑战第8天】这段内容讨论了MySQL在某些场景下面临的挑战及其原因,并指出这些问题不能完全归咎于MySQL本身。高并发读写压力、数据量增长以及复杂查询和事务处理都可能导致性能瓶颈。然而,应用程序设计不合理、系统架构不佳以及其他数据库选择和优化策略不足也是重要因素。综合考虑这些方面才能有效解决性能问题,而MySQL通过不断改进和优化,仍然是许多应用场景中的可靠选择。