PHP+MySql实现图书管理系统
这个图书管理系统是我学完PHP时写的一个练手项目,功能参考了自己学校的图书管理系统。为了锻炼自己的动手能力以及加深对代码的理解,前端和后端均由自己完成,前端使用了一些基本的框架(毕竟我主攻后端开发方向),后端大部分要用到的功能都是自己从底层实现并封装,基本没有用到第三方框架。总体来说还是比较简陋的,在某些地方可能存在缺陷或者漏洞。
项目地址
此项目已经提交到我的Github中
仓库地址:https://github.com/horvey/Library-Manager
基本功能
- 用户
- 查询图书状态(能够进行搜索)
- 管理自己的账户,如:修改密码、挂失等
- 对已借的图书进行续借操作
 
- 管理员
- 管理图书,增删改查
- 管理用户,如修改密码、挂失、删除等
- 借阅管理
 
特点
- 数据库中的数据来自豆瓣图书Top250
- 前端页面使用jQuery+BootStrap实现,勉强能看(前端能力实在有限)
- 后端采用MVC的思想,参考ThinkPHP框架的结构和思路,自己实现并封装了一个简单的MVC框架(View层使用了Smarty模板引擎)
- 后端使用的数据库工具类、验证码类、分页类均由自己实现并封装
- 可通过配置文件(Base/Conf.php)对项目进行配置(数据库设置和默认路由设置)
- 前端大部分数据通过Ajax与后端进行交互,页面跳转较少
部署注意事项
- index.php为整个项目的入口文件
- 确保你的PHP开启了gd2、mysqli扩展
- 将book.sql中的数据导入到数据库
- 默认管理员账号为10086,密码为admin
- 默认一般用户的密码为123456,初始的账号有10000、10001、10002、10010,其中10010默认被挂失
部分截图
登陆界面

图书管理


用户管理


借阅管理

PHP+MySql实现图书管理系统的更多相关文章
- c语言小项目-使用mysql数据库的图书管理系统
		VS2013通过MySQL方式连接到MySQL MySQL官网上C++的API有两个.一个是很成熟的mysql++,另一个是MySQL Connector/C++,近两年才出的,模仿JDBC做的,封装 ... 
- Java swing项目-图书管理系统(swing+mysql+jdbc)
		(一)项目功能分析 该项目是设计一个图书管理系统,主要包含的内容有: (1)管理员登陆界面 ->信息录入 ->登录 ->重置 (2)图书管理系统总界面 ->子界面菜单: 1)图 ... 
- 基于Java swing+mysql+eclipse的【图书管理系统】
		本项目为Java swing项目,在工作环境中基本使用不到,但是很多学校把这个当做编程入门的项目来做,故分享出本项目供初学者参考. CSDN赞助下载:https://download.csdn.net ... 
- 基于jsp+servlet图书管理系统之后台万能模板
		前奏: 刚开始接触博客园写博客,就是写写平时学的基础知识,慢慢发现大神写的博客思路很清晰,知识很丰富,非常又价值,反思自己写的,顿时感觉非常low,有相当长一段时间没有分享自己的知识.于是静下心来钻研 ... 
- [入门级] 基于 visual studio 2010 mvc4 的图书管理系统开发初步 (二)
		[入门级] 基于 visual studio 2010 mvc4 的图书管理系统开发初步 (二) Date 周六 10 一月 2015 By 钟谢伟 Category website develop ... 
- struts2+hibernate 项目实战:图书管理系统
		经典项目,练手必备. 图书管理系统 需求分析(大致,并不专业):1.需要有用户管理: 1.1 用户注册: 1.2 用户登录: 1.3 用户信息修改: 1.4 用户修改密码: 2.需要有书本管理: 2. ... 
- 基于jsp+servlet图书管理系统之后台用户信息删除操作
		上一篇的博客写的是修改操作,且附有源码和数据库,这篇博客写的是删除操作,附有从头至尾写的代码(详细的注释)和数据库! 此次删除操作的源码和数据库:http://download.csdn.net/de ... 
- Python-Flask框架之——图书管理系统 , 附详解源码和效果图 !
		该图书管理系统要实现的功能: 1. 可以通过添加窗口添加书籍或作者, 如果要添加的作者和书籍已存在于书架上, 则给出相应的提示. 2. 如果要添加的作者存在, 而要添加的书籍书架上没有, 则将该书籍添 ... 
- Linux-基础学习(四)-部署图书管理系统项目
		部署图书管理项目需要以下软件 项目文件(django项目文件夹) 数据库文件(django项目对应的数据库文件) centos7(linux本体) nginx(反向代理以及静态文件收集) uWSGI( ... 
随机推荐
- str中的join方法; set集合;深浅拷贝
			一.str中的join方法 1,用join可以吧列表转换为字符串 将列表转换成字符串. 每个元素之间用_拼接 s = "_". join(['德玛', ''赵信'', '易']) ... 
- BeginEditorCommand的原理
			代码来源 :http://www.arch-pub.com/problem-about-CPropertyPage_10682271.html CWnd* pAcadWnd = CWnd::FromH ... 
- swift 的基本类型之字符串
			一:创建字符串 //字符串的创建有两种 //不可变字符串 let str = "I'm a string" //可变字符串 var string = "I'm a mut ... 
- Python 标准库之 xml.etree.ElementTree
			Python 标准库之 xml.etree.ElementTree Python中有多种xml处理API,常用的有xml.dom.*模块.xml.sax.*模块.xml.parser.expat模块和 ... 
- miniui表单验证守则总结
			1,页面效果图 2,代码实现 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "h ... 
- 公司git流程图,广告业务术语
- webpack---less+热更新 使用
			最近尝试用less写界面,webpack进行打包,然后发现每次修改less时都需要重新执行webpack打包一下,于是就想到了webpack热更新这个功能. 一.使用less less是一门css预处 ... 
- 封装log4j支持记录到testng
			一.初始方案 自动化中需要把日志通过testng的Reporter.log来记录日志在报告中展示.开始是新增了一个日志类: ReporterLog.class import org.slf4j.Log ... 
- mysql 2006 go away 错误
			https://blog.csdn.net/yypsober/article/details/71330673 原文地址. 
- Java学习笔记01
			1.原型设计: 将页面的模块.元素.人机交互的形式,利用线框描述的方法,将产品脱离皮肤状态下更加具体跟生动的进行表达. 2.下面的是使用PowerDesigner进行设计的持久层的层次结构图: 虚线三 ... 
