基于无线网络的图书馆信息管理系统.doc

上传人:爱问知识人 文档编号:5182480 上传时间:2020-02-16 格式:DOC 页数:44 大小:599.84KB
返回 下载 相关 举报
基于无线网络的图书馆信息管理系统.doc_第1页
第1页 / 共44页
基于无线网络的图书馆信息管理系统.doc_第2页
第2页 / 共44页
基于无线网络的图书馆信息管理系统.doc_第3页
第3页 / 共44页
基于无线网络的图书馆信息管理系统.doc_第4页
第4页 / 共44页
基于无线网络的图书馆信息管理系统.doc_第5页
第5页 / 共44页
亲,该文档总共44页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《基于无线网络的图书馆信息管理系统.doc》由会员分享,可在线阅读,更多相关《基于无线网络的图书馆信息管理系统.doc(44页珍藏版)》请在三一文库上搜索。

1、本科生毕业论文(设计)本科生毕业论文(设计) 中文题目中文题目: 基于无线网络的图书馆信息管理系统 英文题目英文题目: A WLAN-based Library Information Management System 学生姓名学生姓名 薛宏 班级班级 15 学号学号 03 学学 院院 通信工程学院 专专 业业 通信工程专业 指导教师指导教师 董 好 职称职称 讲师 吉林大学学士学位论文(设计)承诺书吉林大学学士学位论文(设计)承诺书 本人郑重承诺:所呈交的学士学位毕业论文(设计) ,是本人在指导教 师的指导下,独立进行实验、设计、调研等工作基础上取得的成果。除文中 已经注明引用的内容外,本

2、论文(设计)不包含任何其他个人或集体已经发 表或撰写的作品成果。对本人实验或设计中做出重要贡献的个人或集体,均 已在文中以明确的方式注明。本人完全意识到本承诺书的法律结果由本人承 担。 学士学位论文(设计)作者签名: 年 月 日 摘要 摘摘 要要 当今是信息时代,信息被作为二进制数据存储在计算机系统中。当今又是网络时代 ,基于网络的分布式数据库系统被广泛应用,分布式数据库系统管理软件,一般都分为 Server 端和 Client 端两部分,这样用户访问数据库就需要安装 Client 端,这种方式为传 统的 C/S 方式。如果能用网页来代替 Client 端,则可以方便用户,也减轻了用户主机的

3、负担,降低了访问数据库对用户主机的性能要求,这种方式即为访问数据库的 B/S(Brows er/Server)方式。 本文介绍了 B/S 模式的图书馆信息管理系统的设计的具体过程。本文先介绍信息管 理系统的背景,然后为设计选择网页服务器软件和数据库服务器软件以及网页编程语言 。粗略介绍了 HTML、PHP、SQL 三种语言,为下一步实现编程访问数据库作准备。访 问数据库,本文的思路是先以 C/S 方式实现访问,然后再在 C/S 模式的辅助下一步步实 现 B/S 模式的访问。成功访问数据库之后,就开始数据库的系统设计。系统设计的目的 是实现系统整体的结构性,从而减少信息的冗余,实现自动化管理,使

4、整个系统可以保 证信息的完整性. 本设计使用 PHP、Apache 和 MySQL 作为平台。设计成功地在学校局域网环境下 搭建了 Web 服务器和 MySQL 数据库服务器,并在 Web 服务器配置了 PHP 引擎,实现 了 B/S 模式下的用户登录、大众免登录查询功能,在程序中加了简单的逻辑以展现动态 网页效果。得益于学校的 Wi-Fi 环境,本设计间接地实现了用 Wi-Fi 访问本设计中已搭 建的网站。在 Wi-Fi 功能已间接实现的事实的鼓舞下,本文又总结了给局域网增加 Wi-Fi 的方案。本设计的目的是实习,根据需求和自己的专业特长,给出实用的解决方案,在 实习的过程中让自己对该类系

5、统的设计方法和思路有更深的了解,并得出结论。希望该 论文能辅助相关的工作。 关键词 PHP Apache MySQL B/S 图书馆信息管理系统 ABSTRACT ABSTRACT Today is an age of information, In which information is stored in computer systems as binary data. Today is also an age of Internet. Distributed database systems are widely used. Distributed database system ma

6、nagement software, are generally divided into the two parts of Server and Client. So users who accesses the database need to install the Client software. And this method of visiting a database is called the C/S method. If we can Use a web browser instead of the Client, the burden and performance req

7、uirements on the users host will be reduced. This is the B/S(Browser/Server) method of visiting a database. This article describes the design process of the B / S library information management system.This article first leads the reader into a tour of the background of the information management sys

8、tem, and then chooses web server software and database server software and web programming languages for the design and Then selectively introduced the three languages of HTML PHP 有一些标准函数,或者称内部函数。PHP 还有一些与日期时间相关的函数: : getdate()getdate(),date()date(),time()time()。 PHP 可以面向对象编程。类和对象是面向对象编程的基本概念。类是对象的模

9、板,对 象是类的一个实例。创建类要用关键字 class,类中有属性,有方法。类的属性用 var 来声明,类的方法用 function 来声明。方法和函数一样,是语句的堆积。参数可有可无, 返回值也可有可无。在类类部调用一个方法时,可用$this 表示一个到调用对象的引用。 创建对象要用关键字 new。 输出字符串。echo 关键字后 给字符串输出字符串,给变量名输出变量值。echo 后 的变量,字符串之间用”.”连接时,其效果相当于将变量和字符串分别用 echo 输出的 第 2 章 相关技术 9 结果连起来构成的字符串。用 print(),输出一个字符串。用 printf(),输出一个格式 化

10、的字符串。 2.2.3 SQL(Structured Query Language) SQL 是结构化查询语言,是国际标准的关系数据库的通用语言。不同的数据库管理系 统(DBMS),都可以设计自己的 SQL 语言,但多数是以 SQL 为标准的。所以都是大同小异。 正是由这种差异一直在优化着我们的 SQL 标准语言。SQL 语句很合乎当代英语的表达习 惯,用 SQL 编程时要选准关键字。这里只列出一些常用的关键字,以提示读者。读者在 开始编程以前可以先用这些关键字做造句练习。部分常见关键字列写如下: 操作对象 Database, Table, Tag, Values, Array, *, Pri

11、mary Key, Field , Index, View, Procedure 操作 Create, Drop, Alter, Add, Set, Update, Delete, Insert, Select, ,Rename, Open, Close 子句关键 字 Default, From, To, On, In, Into, AS, Like, Unique, Primary, Empty, Primary, Between, With, And, Full, Top 逻辑判断 Not, .T., .F., If ,end if, While, Check, Where, 函数 AVG

12、, Count, Max, Min, Sum 第 3 章 B/S 模式描述及平台选择 10 第三章第三章 B/SB/S 模式描述及平台选择模式描述及平台选择 3.13.1 B/SB/S 模式描述模式描述 B/S 模式是 Browser/Server 模式的简写,即浏览器/服务器模式。Browser/Server 中的 Server 指的是数据库服务器(Database Server)。如图: 客 要实现 Browser 浏览,需要网页浏览器和网页服务器。而要实现网页中的逻辑,又 需要一种方便编程人员使用的语言,用这种语言编写有逻辑能力的程序放在网页中, 并在网页服务器中配置这种语言的解释程序(

13、或编译程序) 。编程人员希望这种程序可 以嵌入到 HTML 文件中,嵌入的方式可以减少网页的数目,而现在主流的三种网络编程 语言(PHPSession.save_path=”/tmp” 移除选项前面的分号,使配置生效。路径值可以自行设置。 (4)设置错误信息显示选项。查找“display_errors” ,将值设为“on” 。启动错 误显示。 (5)设置服务器默认时区。查找到“date.timezone” ,移除其前面的分号。若该 项的值为”PRC” ,则表示是中华人民共和国。 让 Apache 支持 PHP 修改 httpd.conf 文件。在 Apache 服务器环境中,PHP 可以有以下

14、两种运行方式: CGI 二进制文件方式。此时需要把以下代码添加到 httpd.conf 文件中: ScriptAlias /php/ AddType application/x-httpd-php.php Action application/x-httpd-php”/php/php-cgi.exe” DDL 动态链接库模块方式。此时,先要把 PHP 安装目录中的 php5ts.dll 文件复制 到 Windows 系统的 system 文件夹中,然后在 httpd.conf 文件末尾加入两行代码: Load Module php5_module “/php5apache2_2.dll” Ad

15、dType application/x-httpd-php.php 本设计选 CGI 二进制文件方式。 测试 PHP 安装和配置 PHP,设置 Apache 支持 PHP 后,通常需要一个 PHP 动态网页,来对 PHP 引擎测试。要想让 Web Server 能执行文件中的 PHP 代码,文件的扩展名应为”. php“或”.phtml“。实际上,用“”一条语句就可以测试。 其中“”是 PHP 脚本代码的定界符;phpinfo()函数用于输出 PHP 和相关信息。 把网页保存在 Apache 网站文档的根目录或其子目录下,为方便测试, 这里放于根目录。打开 IE,输入 URL:localhos

16、t。若成功则会显示一个很经典的 网页界面,包含 PHP 的详细配置信息。否则失败。 3.3.3 安装和配置 MySQL (1)选择安装类型 本设计选 Custom(定制) 第 3 章 B/S 模式描述及平台选择 17 MySQL Server(服务器) Client Progam(客户端) C include File/Lib Files 选项,选中该项估计功能更强大些 本设计三者都选 若安装过程中选中了 configure the MySQL Server 选项,安装过后将启动 MySQL 配置向导(Configure Wizard) 。也可以稍后自行配置。具体选项如下: (2)选择配置类型

17、 选择 Detailed Configuration(详细配置) 。不选 Standard Configuration(标准 配置)。 (3)选择服务器类型 Developer Machine(把 MySQL 用于开发目的,此时当前计算机上可以运行其它应 用程序,MySQL 只占小部分内存) Server Machine(把 MySQL 用于后台数据库服务器,此时计算机还可以用作 Web 服 务器或者应用程序服务器) Dedicated MySQL Server Machine(只当前计算机只运行 MySQL 数据库服务器,而 不运行其它服务器软件,如 Web 服务器、邮件服务器等。MySQL

18、 占用全部内存) 本设计选择 Developer Machine。 (4)选择数据库的用途(Database Useage) Multifunction Database(多功能数据库,若选它,将对优化 MySQL 服务器的性能) Transactional Database Only(若选它,MySQL 只用于事务处理,此时优化应用 程序服务器和处理事务的 Web 应用程序) Non_Transactional Database Only(若选此项,则 MySQL 只用于网站开发、监控 或日志应用程序以及分析程序) 本设计选择了 Multifunction Database (5)设置最大并

19、发连接数(Approximate Number of Concurrent Connections to the Server) Decision Support(DSS)/OLAP(20 客户) Online Transaction Processing(OLTP)(500 客户) Manual Setting(手动设置) 第 3 章 B/S 模式描述及平台选择 18 本设计选择 Decision Support (6)设置 MySQL 网络选项(Networking Options) Enable TCP/IP Networking(允许通过 TCP/IP 连接到 MySQL 服务器),叵

20、选中再设 置端口号:默认 3306(可不改动,本设计选 3306) Enable Strict Mode(强制 MySQL 服务器像一个传统数据库服务器那样运行) 本设计两项都选中。 (7)设置默认字符集 Standard Character Set(把 Latin1 设为默认字符) Best Surpport For mutilingualism (把 UTF8 设为默认字符) Manual Selected Default Character Set/Collation (从 Character Set 列表中 手动选择) 本设计选择了 gb2312 字符集 (8)设置 MySQL 的 W

21、indows 选项 Install as Windows Service(把 MySQL 作为 Windows 服务来安装,本设计选中访 项,并将服务名称设为 MySQL) Include Bin Directory in Windows Path(The Bin Directory contains the Server/Client executables,选中后可通过命令来启动 MySQL) (9)设置 MySQL 服务器的安全性选项 Modify Security Settings(为 MySQL 的默认帐号设置密码,本设计设置了 root 密码) Enable root access

22、 from remote machines(允许 root 远程访问 MySQL,本设计 选择了允许) Create An Anonymous Acount(建一个匿名帐户,匿名帐户的存在将影响系统的安 全性,本设 计禁止了匿名帐户) (10)测试 MySQL 服务器 打开 MySQL Command Line Client。若提示”Enter Password” ,则输入密码。若 不提示,在命令提示符下输入”mysql -uroot -p” ,让其出现“Enter Password”担 示,输入密码后。若出现命令行提示符”mysql“,则表明 MySQL 数据库配置成功。 (11)通过 PH

23、P 连接 MySQL 服务器 为了通过 PHP 连接 MySQL,还需配置 PHP。具体如下: 第 3 章 B/S 模式描述及平台选择 19 (1)将 PHP 目录下的 libmysql.dll 文件复制到 Apache 安装目录中的 bin 目录中 (2)打开 Apache 目录中的 php.ini 文件,作如下更改: mysql.default_host=localhost(设置 MySQL 服务器的主机名) mysql.default_port3306(设置 MySQL 服务器的端口号,和前面 MySQL Server 配 置的配置要相同) mysql.default_user=root

24、(设置默认用户) mysql.default_password=password(设置默认密码) ;extension=php_mysql.dll(去掉前面的分号,以启用 PHP 对 MySQL 的支持模块) 重启 Apache,保证配置能及时生效。 (3)写一个 PHP 网页文件(用记事本写,内容如下),命名为 test.php。把文件保存 到 MySQL 根目录(htdoc)下。PHP 网页代码如下: 在浏览器中输入 URL:localhost/test.php。若看到”Success!“则为成功。若错 误,则会含有 mysql_error()函数返回的错误信息。 第 4 章 实现数据库的

25、访问以及系统设计 20 第四章第四章 基于无线网络的图书馆信息管理系统设计与实现基于无线网络的图书馆信息管理系统设计与实现 4.14.1 系统设计方案系统设计方案 系统设计一直处在理论阶段, 省去了需求分析,而直接使用图书馆系统的一般关 系模型。系统 E-R 模型如图: 实体型:读者、管理员、图书。其中读者和管理员可以建在一个表,即用户表,描 述为“User(用户名,密码)”。为图书再建一个表,图书表,描述为“Books(图书编号,书 名,作者,出版社,出版时间)”。两张表都要满足实体完整性约束,为此图书编号要指 向某一本书,为此可以在图书已有的 ISBN 的编号机基础上再后缀几位数字,这几位

26、后 缀的数字还可以用来统计该书的库存。 实体间联系(事件)由管理员描述。联系中涉及到的实体名要参照上面实体对应的 表(一张图书表,一张读者表,读者表中可包括管理员)。要满足参照完整性。 图书上架下架。直接由管理员对图书表增删图书记录。 读者查书,直接检索 Books 表,但在检索到的记录中,要把图书编号的 ISBN 部分 相同的记录归为一条,并统计显示的结果,用 Count 函数再生成一个字段。显示描述 如“Result(ISBN,书名,作者,出版社,出版时间,库存)”。这个表只用于临时的显示查 询结果,基记录存储在 PHP 程序的数组中即可,它的字段的主要部分可用 mysql_fetch_f

27、ield()函数来提取。 读者借书、读者还书。两种事件用一个表,借还表,描述为 Borrowed(读者编号、 图书编号、借书时间、还书时间、期限)一个元组中借书时间和还书时间只能有一个 读者管理员 图书 用户名 密码 用户名 密码 图 书 编 号 书 名 作 者 出 版 社 出 版 时 间 借还 事件 增删用户、 授权 图书上架 下架 用 户 名 图 书 编 号 借 书 时 间 还 书 时 间 期 限 查询 第 4 章 实现数据库的访问以及系统设计 21 被赋值。在同一读者编号和同一图书编号下,借书事件和还书事件是交替出现的,而 且还书时间要比借书时间晚。这种联系需要用户来定义。这个表的主键计

28、划用自然数 编号字段。因此还需为此事件增加一个事件编号字段。 自动催还功能,要借助于时钟来实现。由第一个借书事件来触发时钟。每一个借书 事件触发动作来修改期限属性的值。相应的还书事件发生时再次修改该期限属性的值, 使之为空。当所有的预期还书事件都发生时,再次触发动作,结束时钟。借还事件会 随时间累积,计划由用户来主动删除一些无用的借还记录。用户对某一本书的借还事 件都发生时才能删除这对借还记录。如果时钟到达某个期限值时,触发催还动作,此 动作可以收回用户的部分权限,并在用户登录时提示图书到期。 总结上述,共需要三张表:图书书目表、读者表(可包括管理员)、联系(事件) 表。还需要为相关表设置触发

29、器。 本设计先建立了 Mylib 数据库,在里面加了一张书目表。其实此前在建立数据库管 理员用户时系统已自动的建了一个数据库 MySQL,并在库内建了另一张表(user 表) 。 User 表里已有一条管理员用户的记录。本设计在 user 表里又加了若干个普通用户。 user 表如图: : user 表内有两个字段,user 和 host,而书目表里也没有这两个字段,所以两表不 第 4 章 实现数据库的访问以及系统设计 22 会有联系。这样也省却了考虑联系的一步。(但现实的图书馆管理系统中这两表应该有 联系,稍后再讨论这个问题)。 下图的书目表用来充当用户查询图书的数据来源,或用来给图书馆统计

30、图书: 4.24.2 访问数据库访问数据库 4.2.1 表单到数据库之间的通信过程 通过变量承载和转发数据实现数据的传递。$_POST 和$_GET 以及$_COOKIE 就是这 样的变量(组) 。用户通过 HTML 表单,以 POST(或 GET)的方式分别存入 PHP 的超全 局变量数组$_POST(或$_GET) 。(具体过程参考前面表格中对$_POST 和$_GET 数组的描 述)。之后由 HTML 表单 Action 属性值指定的 PHP 程序处理$_POST(或$_GET)里的变量, 若网页中有逻辑,则会根据变量值做出不同的处理。是否需要访问数据库以及访问数 据库的哪个库,哪个表,

31、哪条记录以及哪条记录的哪个属性值,都由 PHP 程序决定(或 者说是由编程人员决定。编程人员要给不同的变量赋予不同的现实意义,编程中的逻 辑才会有意义。比如我在表单变量里设置了 User 和 Pass 变量,我认为 User 里存用户 名 Pass 里存密码,这显然是要登录数据库,则表单提交后,在 PHP 代码里,我用函数 Mysql_connect(或 Mysql_pconnect)直接引用 User 和 Pass 里的值,从而和数据库里 第 4 章 实现数据库的访问以及系统设计 23 的用户表数据校对,如果用户表中有这个用户名,而且密码又正确则成功连接数据库, 并返回一个数据库链接标识符(

32、唯一的) 。通过引用这个链接标识符来进一步访问数据 库。如果用户名不存在或用户名存在而密码不对,则函数返回 false。可以将此函数的 返回值存到一个变量中,PHP 程序可以根据此变量不同的值再给出不同的结果,不同的 结果连同原先传来的 HTML 被返回给浏览器,用户自然会看到密码对与不对会产生不同 的反应,从而实现了登录的功能,登录之后引用将可以继续操作数据库。 4.2.2 编程访问数据库 设计通过表单的 POST 方式,在 PHP 程序中用 mysql_connect()函数引用参数 $_POST 数组中的由 POST 方式从表单提交来的用户中和密码以及服务器的 IP 地址三个 参数实现了

33、连接数据库。至此用户成功连接至服务器。成功连接以后可以在 mysql_query()等函数中引用 mysql_connect()函数返回的数据库链接,来访问数据库 的资源。 (也可以用 mysql_pconnect()函数) 。 本设计目在会话功能实现上滞留了相当长的时间。因为记住用户状态的 Session 功 能还没有实现。用户只有在登录当次能访问数据库一次,如果想再次访问数据库,还 需要重新登录。这个功能很重要,但目前仍未实现。为此,作出假设,假设我一直实 现不了 Session 功能,我应该继续做什么。答案就是充分利用这仅有一次访问机会。 为了能访问到数据库的不同部分的内容,我在用户登录

34、的表单里又加入一个,用于选择数据库(我认为 select 提交的变量名存储的就是数据库名)这样用户 在登录前要先选好想要访问的数据库,登录将数据提交给 PHP 程序,PHP 仍然用用户名 和密码连接数据库,连好之后,通过相关编程又实现了根据用户选择的数据库的不同, 返回不同的记录集到客户端,从而对用户的操作显示出一种逻辑,并且用表格的形式 显示出来。相关文件为 TomSeeBooks.php。其流程图如下页。代码见附录 A。 第 4 章 实现数据库的访问以及系统设计 24 TomSeeBooks.php 流程图: 开始 BtnSub 非空? Requre(“Core_script.php” )

35、; User=root? MyDB=MySQL? $sql=”Select ISBN,BookName as 书 名,Author From books limit 6”; $sql=”Select user,host from user”; MyDB=Mylib? $sql=”Select ISBN,BookName as 书名, Author From books limit6”; $set_width=480; Show_result($sql,Slink1,$Set_width); 结束 是 否 是 是 否 是 由表单提交用户数据。 User 变量 PassWord 变量 BtnSub

36、 变量 MyDB 变量 Core_Script.php 文件的作用是: 连接数据库(即用户登录) 按用户要求选择数据库 设置字符集 定义函数 show_result($sql,$link,$width),令此函作用为 按$sql 参变内容访问数据库,把访问的结果以表格显示。 第 4 章 实现数据库的访问以及系统设计 25 用户通过网页浏览器访问名为 http:/localhost/TomSeeBooks.php 网页,具体结 果如图: 用户登录界面,普通用户 Tom 在此输入用户名和密码,并选 Mylib 数据库。Tom 用户提 交表单后,表单反回一个 Mylib 数据库中的一部分记录(上限为

37、 6) Tom 想换个数据库试试,再次输入用户名,密码,并选择 MySQL 数据库。如图中错误所 述,Tom 访问 MySQL 数据库被否认,因为还没有为 Tom 帐户分配对名为 MySQL 的数据库 任何权限。即使 Tom 从 MySQL-client 客户端登录了,也完全看不到 MySQL 这个数据库。 第 4 章 实现数据库的访问以及系统设计 26 接着,root 用户在同一界面登录,选 mylib 数据库。Root 用户登录成功,数据库 也返回 Mylib 数据库中的一部分记录(上限为 6) 接着 root 也想换个数据库,于是重新输入用户名,密码并选择 MySQL 数据库。 Root

38、 成功登录,并得到了 MySQL 数据库里的全部用户记录。 Root 是管理员帐户,有所有的权限,但在 Browser 上,必须借助于表单和网页代 码搭配组合建立的一种逻辑才能实现各项功能。因此才说 B/S 在开发过程中是由 C/S 模式逐渐过渡。中间可能需要 C/S 模式的辅助。 到这里,我又想到了一个问题。我们能在函数中引用用户名和密码的变量值,那么 能否把用户名和密码显示出来。结果我成功了。为此我又想到了用户帐户的安全问题。 第 4 章 实现数据库的访问以及系统设计 27 网络编程人员只用一句简单的 echo 语句就能看到用户的用户名和密码。但似乎又想错 了,echo 有回响的含义,ec

39、ho 显示的结果或许只能显示在用户用户所用的浏览器上。 由于时间问题,这个问题暂先搁置。 经过上述图文演示的过程之后,我在想能否少输入几次用户名和密码来访问数据库 呢?最终我想到了一个方法(其实是走了另一个极端) ,永远都不用输入密码就可以访 问数据库。实现的方法就是用户名和密码不再由用户来提交,而是放在 PHP 程序中 mysql_connect(或 Mysql_pconnect)函数的参数里,每次用户提交表单,都由表单指 定的 PHP 程序执行这个函数,从而数据库一直可以连接,这样谁都可以通过提交表单 来访问数据库,那么这个函数参数里的用户名和密码就被很自然地当作成一个大众用 户和用户密码

40、。我们应该只给这样的用户一部分读数据库的权限,以保证数据库的安 全和其它用户的隐私。显然两个极端都有很大的缺点,一个是不方便问题 ,一个是安 全问题 ,其实 session 才是既方便又安全的折衷的办法。 上述页面改改,加上查询功能,用在借阅室的公共计算机上效果估计挺好。这时候 查询的用户无需登录,这才计算机就是面向大众的,每位读者都能在这台计算机上, 通过保存在网页程序里的大众帐户来访问数据库(本设计只给大众用户分配对书目表的 查询功能)。读者借书前可以先在此计算机上进行查询,记录结果将以基于 ISBN 的形 式列出,相关文件为 Display_Search.php,流程图见下页,代码见附录

41、 A。 第 4 章 实现数据库的访问以及系统设计 28 Display_Search.php 流程图: 开始 Requre_once(“Core_Script.php”); $sql=”Select ISBN,BookName,Author From books”; $set_width=480; Submit2 为空? $sql=”Select ISBN,BookName as 书名,Author From books limit 6”; $sql=sprint(“%s Where BookName like%s%”,$sql,$_POST“Searched2”); Show_result(

42、$sql,$link1,$set_width); 结束 是 否 表单提交变量名及变量值。 变量 Searched2 变量 Submit2 Core_Script.php 文件作用: 建立数据库连接(用户登录) 选择数据库 选择字符集 定义 show_result($sql,$link,$width)函数。使此 函数根据形参$sql 内容访问数据库。将结果 以表格的形式显示出来。 第 4 章 实现数据库的访问以及系统设计 29 读者查询图书界面如下图: 在搜索框中输入”C” ,显示为右边的网页。再搜索”设计” ,结果也为右边的网页。 这样就实现了对图书信息的模糊查询。 (相关代码见附录,本设计的

43、代码有封装性,读 者可直接拿来实验) 。适合公共场合使用。这个应用可以用在图书馆的借阅处,供用户 借书前查询图书。 在管理员的 B/S 模式实现以前,仍要以 C/S 模式作为设计过程的辅助.然后一步步 由 B/S 替代 C/S 模式,最终由 B/S 模式中网页中的逻辑功能实现比没有编程前的 C/S 模式更方便更自动化的功能) 。之前所说的书目表和学生表都是在 MySQLclient 里, 通过输入 SQL 代码建的。书目表肯定要有。最后我把建立书目的表结构的 SQL 代码放 入了记事本,以便以 source 命令来执行该文件,实现迅速建立书目表结构。 第 4 章 SIP 开发环境的搭建 30

44、4.34.3 增设增设 Wi-FiWi-Fi 学校的局域网已经实现了 Wi-Fi,本设计的服务器又通过有线方式连在局域网上。于 是我尝试用 WI-FI 访问服务器的地址,结果可以访问。里面的网页都能正常打开。而且 B/S 的优点也在这里很明显的体现出来。显然在手持终端上使用 DBMS 的客户端软件访问 数据库不现实,这样对手持终端的性能要求偏高,而且现实中用户要用到许多的数据库, 每个数据库使用的 DBMS 又不统一,用户手持终端上为每一个数据库装一个客户端也不现 实。B/S 方式只要求终端支持 HTTP 网页浏览器,而将程序的执行移交给了服务器,这是 对大众的福利。这种福利在手持终端上充分地

45、体现。 既然 B/S 模式对手持终端访问数据库很有优势,那么就应该发挥这种优势,探索在 B/S 系统中应用无线的方案,鉴于目前只能在局域网访问服务器的状况和图书馆管理系 统地域性,决定使用 Wi-Fi。下面来探索给局域网增设 Wi-Fi 的方案。 经过进一步的学习,总结出如下思路: (1)登录到本设计的服务器所处局域网内的 DHCP 服务器,设置 DHCP 服务器,让它 不交出我准备用于 Wi-Fi 的那段 IP 地址。 (2)设置 DHCP 服务器,使它把用于 Wi-Fi 的那段服务器的第一个地址预留下来。 (3)给路由器或者接入点上电,把一台电脑通过以太网线连接到路由器(或接入点) 的“L

46、AN”端口,打开网页浏览器,浏览到路由器或接入点默认的 IP 地址, (4)通过设置路由器(或接入点) ,使它的 IP 地址变为静态,而且它的值为第二步 预留的静态 IP 地址,然后再通过设置路由器(或接入点)使它可以把我第一步中准备用 于 Wi-Fi 的 IP 地址分配给 Wi-Fi 客户端。 (5)把路由器(或接入点)再接入到有线的以太网。 经过以上五步,一个 Wi-Fi 网络就产生了。 无线终端(支持 Wi-Fi,即支持 IEEE 802.11 协议族)在通过路由器(或接入点)接入以太网的时候,会获得第一步预留的 IP 地址段的一个地址(动态 IP 地址) ,而且这个 IP 地址肯定不是

47、路由器(或接入点)的地 址,因为路由器(或接入点)的地址是静态的固定不变的。要想在实践中把 Wi-Fi 加给 以太网,还需要进一步了解 DHCP。DHCP 全称为 Dynamic Host Configure Protocol,译 为动态主机设置协议。是局域网内的协议,使用 UDP 协议工作。它的一个常见的用途就 是按特定的设置给局域网自动分配 IP 地址。比如前面所提到的给 Wi-Fi 用户动态的分配 属于指定范围的 IP 地址。 第 5 章 总结和展望 31 第五章第五章 总结和展望总结和展望 5.15.1 总结总结 本设计成功地在 Windows 下搭建和配置了 Apache 网页服务器

48、、MySQL 数据库服务 器,并将 PHP 解释程序成功配置到 Web 服务器,并经过配置使其支持 MySQL 扩展。在 MySQL 服务器中用 SQL 语句建成了两个关系表。并实现了 B/S 模式的图书查询和用户登 录。目前本设计 B/S 模式下的功能还很不完善。在 C/S 模式下,管理员用 SQL 语句可 以全权操作数据库。B/S 模式的开发过程需要依赖 C/S 模式。网页编程的过程中也发现 了若干问题,如编程人员有可能看到用户的密码等问题。间接实现了 Wi-Fi 的访问, 并学习了它的实现方法。 设计中还有很多不足之处。没有对数据库系统作整体的设计;没有实现 Session 会 话管理功

49、能,以致难以为用户提供个性化服务;用户的密码存在安全隐患;对数据库 还没有写操作;没有实现 PHP 的文件操作;对网页的管理只限于服务器本地;没有直 接地实现 Wi-Fi。 设计增长了我的知识,丰富了我的编程经验,有助于我将来的工作。经过本次设计, 我对局域网、数据库、数据库管理系统、网站、网站编程、信息管理系统以及信息管 理系统的设计方法都有了新的认识。设计过程中我学习和运用了 HTM、PHP、SQL 语言, 熟悉了一些 HTTP 服务器软件、分布式数据库管理系统软件(如 MySQL、Access) 。对 B/S 和 C/S 模型有了很好的理解,二者相辅相承。也理解了动态网页的概念。 5.25.2 展望展望 1. 实现 Session 功能。以方便为用户提供个性化的服务。Session 功能的添加也省却 每次访问数据库都要求用户重新登录的繁琐。 2. 通过网页编程添加对数据库的写操作。 3. 充分利用关系数据库的优势,以系统的观念来设计整个图书馆信息系统。让图书馆 信息系统真正成为一个系统。 4.切实的,直接的实现 Wi-Fi 接入。 5.实现网页的远程管理。 6.寻找保护用户隐私的方法,比如给用户密码加密。 致谢 32 致 谢 四年

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 项目管理


经营许可证编号:宁ICP备18001539号-1