PHP: Hypertext Preprocessor (超文本预处理器) 的缩写,它是一种服务器端的 HTML 脚本/编程语言,是一种简单的、面向对象的、解释型的、健壮的、安全的、性能非常之高的、独立于架构的、可移植的、动态的脚本语言
PHP是一种功能强大的脚本语言。PHP将击败PERL/Python并取而代之。PHP是下一代的PERL/Python脚本。PHP可以胜任任何PERL/Python做的工作,并且做的更多,更好,更简洁!!
1.2 PHP在网络编程方面的优越性
1995年时,Rasmus在用PHP写他的个人主页;今天,PHP成为风靡全球的脚本语言,越来越多的站点选择使用PHP,连Yahoo都放弃了自己的脚本而改用PHP支持它的网站。可以说,PHP是一个奇迹。我一直认为,任何奇迹背后都有它的原因。现在,就让我们透过这个奇迹,来看看PHP的成功之道。
1 简单易用
PHP的入门门槛很低,它对使用者的要求微乎其微。学过C语言的人,使用PHP几乎不需要什么时间。它们的语法是如此相似,以至于我常常想,是不是在C语言变量前加个$就能改成PHP。这使得大量C程序员在网络脚本中选择了PHP。另外,比起ASP的组件系统和Java庞大的类库来,PHP的函数库要好学多了。在编程风格上,PHP更是自由,你可以使用N种风格来写你的脚本程序。这些特性使得PHP成为初学者的首选语言。抢占初学者市场是很重要的策略。如同任何人都会对自己的初恋记忆犹新一样,人们往往会对最初学习的语言有很深的感情。即使后来自己成长了,改用其他语言了,还是会时时记起最初学习的语言。在这点上,PHP做得很出色。
2 剪裁得当
PHP开发组是最了解网络的一群人,他们非常清楚用户要的是什么。PHP就是要做一个出色的网络脚本语言,而且,它只是要做一个网络脚本语言。PHP提供的函数集在网络方面相当强大,而且重点均专注于网络应用。像PHP中的无组件文件上传,超多数据库支持等特性都表现出这个特点。顺便说一句,PHP甚至支持ACCESS数据库。专注使得PHP在网络上表现出极其优秀的性能。有失才能有得。
3 支持强大
PHP有强大的OpenSource团体支持,在网络上有数以万计的开源代码。你可以整合几个现有程式来实现你的应用,也可以分析大师级的代码来得到提高。PHP还有很多扩展性的项目来增强PHP在某个方面的功能。像注重编程规范化和代码重用的PEAR,提供可编译模板技术的Smarty,甚至开发桌面程序的GTK。
分析完这几个理由,我们可以看出,PHP的成功得益于PHP开发组的战略眼光。PHP提供了一个最小工作集,使用户能用最简单的方式高效地完成自己需要的应用。这正是初学者需要的。然后它通过方便的扩展来提供各个方面的解决方案,这样,你只需要学你要用到的那个领域的东西。当你涉及的领域越来越多时,你的水平也随之提高,当你熟悉了大多领域时,回头看看,会发现不知不觉已到山腰。PHP也提供了我们一种学习态度。
1.3系统开发环境
一、操作系统—Windows xp
本系统使用的操作系统为Windows xp作为底层操作系统,界面友好,性能稳定。
二、数据库—MYSQL
MySQL是一个真正的多用户、多线程SQL数据库服务器。SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言。MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成。
SQL是一种标准化的语言,它使得存储、更新和存取信息更容易。例如,你能用SQL语言为一个网站检索产品信息及存储顾客信息,同时MySQL也足够快和灵活以允许你存储记录文件和图像。
MySQL 主要目标是快速、健壮和易用。最初是因为我们需要这样一个SQL服务器,它能处理与任何可不昂贵硬件平台上提供数据库的厂家在一个数量级上的大型数据库,但速度更快,MySQL就开发出来。自1996年以来,我们一直都在使用MySQL,其环境有超过 40 个数据库,包含 10,000个表,其中500多个表超过7百万行,这大约有100 个吉字节(GB)的关键应用数据。
MySQL建立的基础是业已用在高要求的生产环境多年的一套实用例程。尽管MySQL仍在开发中,但它已经提供一个丰富和极其有用的功能集。
三、务器平台—APACHE
Apache 伺服器则是目前最多 WWW 网站所采用伺服器。您可以至 http://www.apache.org 下载最新版的程式及相关文件,若您觉得从国外下载要很久的话,也可以用它的 Mirror 站台下载。
PHP 则可以去它的官方网站 http://www.php.net 下载所需要的程式。
虽然目前 WindowsNT 或者 Windows98 等 Win32 的作业平台也能安装 PHP 及 Apache 伺服器,不过这似乎没什么道理,因为 PHP 和 Apache 在 UNIX下可以跑得更快更好。
当然,若想使用商业化的作业平台,SUN、IBM、HP、DEC、SGI、NEC 等公司都有提供相关的 UNIX 或者是 WindowsNT 的作业平台。加上高安全性调整过后的 Apache 伺服器:Stronghold 或是其它支援 SSL 的 Apache 版本。这种组合,相信能满足商业化的需求。而 PHP 就扮演着快速方便的 CGI 角色,让客户对站台的服务品质更加满意。
四、发语言—PHP
PHP是一种简单的,面向对象的,解释型的,健壮的,安全的,性能非常之高的,独立于架构的,可移植的,动态的脚本语言。PHP具有和JAVA类似的Class关键字。因为不需要虚拟机,以致速度比JAVA快5倍。PHP正迅速变成一种标准的,多用途的,面向对象的脚本语言。PHP不仅可用来开发Web应用程序,也可以开发普通应用程序。
PHP是一种功能强大的脚本语言。PHP将击败PERL/Python并取而代之。PHP是下一代的PERL/Python脚本。PHP可以胜任任何PERL/Python做的工作,并且做的更多,更好,更简洁!!
PHP是Hypertext Pre-Processor(超文本预处理器)的缩写,它是一种服务器端的HTML脚本/编程语言。PHP语法上与C相似,可运行在Apache, Netscape/iPlanet, 和 Microsoft IIS Web 服务器上。PHP作为一种工具,可以让你创建动态的Web页面。应用PHP的网页与常规的HTML页面并无二致,你可以用同样的方式来创建、编辑它们。PHP允许你直接在HTML文件里写入简单的脚本,这一点与Javas cript非常相似。而不同的是,PHP不依赖于浏览器,是服务器端的语言,而Javas cript却是一种客户端的嵌在HTML中的语言。概念上,PHP与Netscape的LiveWire Pro产品,Microsoft的ASP以及SunMicrosystem 的JSP相似。
PHP不仅可以用来创建Web应用程序,也可以用来开发普通的单机应用程序。
PHP的强劲之处在于:
·PHP是一项最优秀的技术。其它技术,如PERL,Python, Tcl, VB s cript, ASP 相对来说,都是陈旧低劣的。即使是Java/JSP,也在PHP之下。
·开放源码
·广泛的数据库连接
·大量的扩展库
·作为一种多用途的脚本语言,比PERL,VB s cript, ASP, JSP都要优秀
第二章 系统的需求分析
2.1 系统需求分析
需求分析的基本任务是准确的回答“ 系统必须做什么?”这个问题。在需求分析这个阶段,需要仔细的研究系统所实现的功能,并进一步将他们具体化。
1.任务概述
u目标
将学生考勤、平时成绩的评定、以及成绩查询的大量业务,用计算机系统操作完成,对它进行全面现代化管理,以便提高信息管理效率。
u运行环境
软件:Microsoft Windows 2000 Server及Windows 2000 SPI
或更高版本
IE5.5以上
硬件:64 MB RAM 鼠标或其他定点设备
u系统要完成的任务
²实现学生安全登录
²实现网上签到
²通过技术手段,避免学生冒名签到。
²统计学生平时成绩。
²实现网上成绩的查询。
2.功能需求
系统必须完成的功能包括:
c注册与登录功能
该功能主要实现学生与老师的安全登录。
c签到功能
该功能主要实现学生上课网上签到,以减少老师点名签到的时间,提高上课效率。
c统计功能
系统中的统计功能可以根据学生签到次数,统计学生的平时成绩。
c查询功能
该功能从不同的角度进行查询,多层次地满足老师及学生对总成绩及个人成绩的查询要求。
2.2 总体设计
1.本课题研究的内容
本论文从网站设计的基本原理出发,使用php+mysql技术,PHP是一个类似微软ASP的服务器端的嵌入式超文本处理语言,是建立动态网站的强大工具。MySQL是一个真正的多用户、多线程SQL数据库服务器。MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序mysql和很多不同的客户程序和库组成。由于其源码的开放性及稳定性,且与网站流行编徎语言PHP的完美结合,现在很多站点都利用其当作后端数据库,使其获得了广泛应用。而MySQL是一个轻型SQL数据库服务器,可运行在多种平台上,包括Windows NT和Linux,它还有一个GPL版本,MySQL被认为是建立数据库驱动的动态网站的最佳产品。PHP、MySQL和Apache是Linux平台网站的最佳拍档。
通过对公共课网上系统的分析、设计与具体实施,从而具体介绍了基于Internet/Intranet的网站应用系统的分布式架构模式及实现机理。最后采用了
PHP+MYSQL,设计并实现了公共课网上系统
系统设计模型
2.此系统共分为六个较大的模块:
(一). 注册模块 (二). 身份验证模块 (三).学生查询模块 (四)、学生签到模块 (五)、教师控制台模块 (六)、学生出勤统计模块
在这七个模块当中共完成19项功能,分别如下:
(一)注册模块
i.新用户注册(教师或学生)
ii.用户登陆(教师或学生)
图2-1 流程示意
(二)身份验证模块
i.教师注册身份验证
ii.学生注册身份验证
iii.回答信息库中的个人信息
图2-2 流程示意
(三)学生查询模块
iv.用户输入学号
v.用户出勤信息查看
图2-3流程示意
(三)学生签到模块
i.个人信息提取
ii.签到结果查看
图2-4流程示意
(四)教师控制台模块
iii.开始学生签到
iv.停止学生签到
v.查看本次签到信息
流程示意图2-5
(五)师期末统计模块
vi.统计专业
vii.统计年级
viii.点名次数
ix.每次点名分数
流程示意图2-6
第三章 设计与实施
3.1系统数据库设计
表1 学生信息表(s_infor)
中文名称 | 字段 | 类型 | Null | 默认 |
学号 | s_sno | varchar(10) | 否 | |
姓名 | s_name | varchar(20) | 否 | |
性别 | s_sex | varchar(2) | 否 | |
学历 | s_xueli | varchar(10) | 否 | |
政治面貌 | s_mianmao | varchar(10) | 否 | |
专业 | s_pro | varchar(30) | 否 | |
电话 | s_pho | varchar(11) | 否 | |
家庭地址 | s_addr | text | 否 | |
母亲名 | s_mname | varchar(20) | 否 | |
父亲名 | s_fname | varchar(20) | 否 | |
爱好 | s_love | varchar(30) | 否 | |
年级 | s_gra | varchar(50) | 是 | NULL |
表2 教师信息表(t_infor)
中文名称 | 字段 | 类型 | Null | 默认 |
编号 | t_sno | varchar(10) | 否 | |
姓名 | t_name | varchar(20) | 否 | |
性别 | t_sex | varchar(2) | 否 | |
专业 | t_pro | varchar(30) | 否 | |
学历 | t_xueli | varchar(20) | 否 | |
政治面貌 | t_mianmao | varchar(10) | 否 | |
电话 | t_pho | varchar(11) | 否 | |
毕业院校 | t_gra | varchar(30) | 否 | |
家庭地址 | t_addr | text | 否 | |
母亲名 | t_fname | varchar(20) | 否 | |
父亲名 | t_mname | varchar(20) | 否 | |
爱好 | t_love | varchar(30) | 否 |
表3 学生签到信息表(s_login)
中文名称 | 字段 | 类型 | Null | 默认 |
学号 | s_sno | varchar(10) | 否 | |
姓名 | s_name | varchar(20) | 否 | |
专业 | s_pro | varchar(30) | 否 | |
年级 | s_gra | varchar(10) | 否 | |
签到时间 | s_time | date | 否 | 0000-00-00 |
签到主机 | ip | text | 是 | NULL |
表4 学生注册信息表(s_signup)
中文名称 | 字段 | 类型 | Null | 默认 |
学号 | s_sno | varchar(10) | 否 | |
姓名 | s_name | varchar(20) | 否 | |
专业 | s_pro | varchar(30) | 否 | |
用户帐号 | s_zh | varchar(10) | 否 | |
用户密码 | s_pasw | varchar(16) | 否 |
表5 教师注册信息表(t_signup)
中文名称 | 字段 | 类型 | Null | 默认 |
编号 | t_sno | varchar(10) | 否 | |
姓名 | t_name | varchar(20) | 否 | |
用户帐号 | t_zh | varchar(10) | 否 | |
用户密码 | t_pasw | varchar(10) | 否 |
表6 学生出勤统计表(Statistic)
中文名称 | 字段 | 类型 | Null | 默认 |
学号 | num | varchar(11) | 是 | NULL |
姓名 | name | varchar(30) | 是 | NULL |
专业 | pro | varchar(40) | 是 | NULL |
出勤次数 | pre_times | varchar(20) | 是 | NULL |
缺席次数 | absen_times | varchar(20) | 是 | NULL |
平时分 | scores | varchar(20) | 是 | NULL |
表7 签到控制表(t_control)
中文名称 | 字段 | 类型 | Null | 默认 |
标志位 | falg | char(2) | 是 | NULL |
表8 替名签到信息查看表(t_view)
中文名称 | 字段 | 类型 | Null | 默认 |
学号 | s_sno | varchar(10) | 否 | |
姓名 | s_name | varchar(20) | 否 | |
专业 | s_pro | varchar(30) | 是 | NULL |
年级 | s_gra | varchar(20) | 否 | |
签到时间 | s_time | date | 否 | 0000-00-00 |
签到主机 | s_ip | text | 否 |
3.2系统基本流程
1.注册
(1)下面是学生注册页:
图3-1
图3-2
图3-3
图3-4
如果您在计算机领域有任何疑虑或不确定的地方,请毫不犹豫地与老师交流噢,我们期待着为您提供有针对性的建议和指导。您的问题和讨论对我们来说都非常重要。