Open In App

Library Management System Project in Software Development

Last Updated : 09 Feb, 2024
Improve
Improve
Like Article
Like
Save
Share
Report

Library Management System is one of the most common software development projects till date. In this article, we are going to make the Library Management System software development project, from scratch, for final year students. We will be covering all the steps you have to do while developing this project.

Library Management System | Software Development Project

Library Management System | Software Development Project

How to create a Library Management System Project?

Table of Content

A Project Development is a multiphase process in which each and every process are equally important. Here in this post we are also going to develop our Library Management System Project in multiple phases, such as:

  1. Team Formation
  2. Topic Selection
  3. Creating Project Synopsys
  4. Requirement Gathering
  5. Coding or Implementation
  6. Testing
  7. Project Presentation
  8. Writing a Research Paper

Let us look into the steps one by one.

Step 1- Team Formation Phase: Creating a Dynamic Team

Team formation for a final year project is a crucial aspect that can significantly impact the success and efficiency of the project. In the final year, students often have diverse academic backgrounds, skills, and interests. Therefore, forming a well-balanced team becomes essential to leverage the strengths of each member and address any potential weaknesses.

In Our project as we will be exploring about web application for Library Management system so we will be required below skill sets.

  1. Front end Developer
  2. Back end Developer
  3. Tester
  4. Devops Developer

Team-Formation-Phase-Library-Management-System

Step 1- Team Formation Phase

Step 2- Topic Selection

While making our project of library management system this will be our second step in which we will find an interesting problem statement and try to generate an idea to solve that problem using our knowledge.

Choose a topic related to your field of study that is of great interest to you. It is advised that you pick a topic that has a powerful motive. For instance, a project that helps humankind will truly be unmatched. Another factor to keep in mind is to choose topics that aren’t very common. 

Step 2- Topic Selection

Step 2- Topic Selection

  • Topic Planning: In this phase team will gather and try to search a topic or problem statement by brainstorming , reverse thinking or any other strategy and select a problem which is challenging in nature and solvable by using their combined knowledge of tech.
  • Defining & Set Objective: After planning the problem statement we will define clear problem statement and its objectives.

Result : In the end of this phase we will be having a problem statement for our project.

In our example we are selecting the topic ” Library Management System ” .

After the selection of the topic we are going to start our project work in the following steps:

Step 3- Project Synopsys for Library Management System

A project synopsis serves as a concise overview or summary of a proposed project, offering a brief but comprehensive insight into its objectives, scope, methodology, and expected outcomes. It typically acts as a preliminary document, providing supervisors, or evaluators with a quick understanding of the project before they delve into more detailed documentation.

stage-3

Synopsys of Library Management System

The project synopsis usually includes key elements such as the project title, problem statement or context, objectives, scope and limitations, methodology or approach, expected outcomes, and the significance of the project in the broader context. It serves as a roadmap, guiding readers through the fundamental aspects of the project and helping them grasp its purpose and potential impact.

Below are some of the points we have to cover in the synopsis report :

  • Project Title
  • Introduction of Project
    • Problem Statement
    • Proposed Solution
    • Objective of the Project
    • Scope of the Project
  • Methodologies used
    • ER Model
    • Use case Diagram
    • Dataflow Diagram
  • Features of the project
    • For Users
    • For Admin
  • Impact of the project
  • Limitations of the project
  • Future scope of the project

Let’s create a Synopsys Report for Library Management System:

3.1 Introduction | Project Synopsys for Library Management System

A Library Management System (LMS) is a software application that simplifies and automates the operations of libraries. It is a complete system for managing library duties such as purchases, member management, monitoring, storing, and circulation. The primary objective of an LMS is to properly organize and manage the resources available in a library, making it easier for librarians to conduct everyday operations and create a user-friendly experience for users.

3.1.1 Problem Statement for Library Management System:

Conventional libraries are having difficulty integrating various formats, including multimedia and e-resources, because of outdated management systems. Inefficient cataloguing, resource tracking bottlenecks, and a lack of analytics tools hinder librarians from optimizing collections and improving user experiences. To close the gap, libraries require a modern library management system with an intuitive interface, effective cataloguing, and analytics capabilities to resurrect libraries as vibrant centres of knowledge and community involvement in the digital era.

3.1.2 Proposed Solution for Library management system:

To solve the traditional issue we are building a Web development project of library management system using Html , Bootstrap , Php and MYSQL in which we will be providing User-friendly interface for easy navigation , Efficient book search functionality , seamless book issuance and return policy , automated tracking of library activities, Regular maintenance of book availability records and Secure login and access control managed by the admin.

3.1.3 Objective of the Project:

The objective of the Library Management System (LMS) project is to design and implement an efficient and user-friendly system that automates the various tasks associated with managing a library.

The primary goals of the project include:

  1. Efficient Book Management: Streamlining the process of book acquisition, cataloguing, and tracking to ensure an organized and easily accessible collection.
  2. User-Friendly Interface: Developing an intuitive and user-friendly interface for library staff and patrons to facilitate easy navigation, quick retrieval of information, and seamless interaction with the system.
  3. Automation of Processes: Automating routine library tasks such as book check-in and check-out, reservation management, and overdue notifications to improve operational efficiency and reduce manual workload.
  4. Inventory Management: Implementing a robust inventory management system to monitor stock levels, identify popular titles, and facilitate timely reordering of books to maintain a well-stocked library.
  5. Enhanced Search and Retrieval: Implementing an advanced search mechanism to allow users to quickly locate books, authors, or genres, promoting a more efficient and enjoyable library experience.
  6. User Account Management: Providing features for patrons to create accounts, track their borrowing history, and manage personal preferences, fostering a personalized and user-centric library experience.
  7. Reporting and Analytics: Incorporating reporting tools to generate insights into library usage, popular genres, and circulation trends, enabling informed decision-making for library administrators.
  8. Security and Access Control: Implementing robust security measures to protect sensitive library data and incorporating access controls to ensure that only authorized personnel have access to specific functionalities.
  9. Integration with Other Systems: Offering the flexibility for integration with other academic or administrative systems to create a cohesive and interconnected information ecosystem within the institution.
  10. Scalability: Designing the system to be scalable, allowing for easy expansion and adaptation to the evolving needs of the library as it grows over time.

By achieving these objectives, the Library Management System aims to enhance the overall efficiency, accessibility, and user satisfaction of the library services, ultimately contributing to an enriched learning and research environment within the institution.

3.1.4 Scope of the Project:

It may help collecting perfect management in details . In a very short time the collection will be obvious simple and sensible. it will help a person to know the management of passed year perfectly and vividly. it also helps in current all works relative to library management system . It will reduce the cost of collecting the management and collection procedure will go on smoothly.

The scope of the project of library management system typically covers the following aspects:

  1. Functional Scope:
    • Book Management: The system should cover tasks related to book acquisition, cataloguing, and organization within the library.
    • User Management: Creating and managing user accounts, handling patron information, and providing authentication for library services.
    • Circulation Management: Automating the process of book check-in, check-out, and reservation to streamline circulation activities.
    • Search and Retrieval: Implementing a robust search mechanism for users to quickly locate books, authors, and other library resources.
    • Reporting and Analytics: Generating reports on library usage, circulation trends, and popular genres to aid decision-making.
    • Security and Access Control: Ensuring the security of sensitive data and implementing access controls to manage user privileges.
  2. Non-Functional Scope:
    • Usability: Ensuring a user-friendly interface that promotes ease of navigation and a positive user experience for both library staff and patrons.
    • Scalability: Designing the system to accommodate growth in the library’s collection and user base over time.
    • Performance: Meeting performance standards to ensure timely response and efficient processing of library transactions.
    • Reliability: Building a reliable system that minimizes downtime and ensures the continuous availability of library services.
    • Security: Incorporating robust security measures to protect against unauthorized access, data breaches, and other security threats.

3.2 Methodologies | Project Synopsys for Library Management System

In LMS we are using various technologies and new methodologies to solve our problems. Below are the detailed description about the technology used and methods we are applying in our project.

Technology Used:

Here we are developing a Library Management System (LMS) using HTML, Bootstrap for the frontend, and MySQL, PHP, and JavaScript for the backend involves a structured methodology.

ER Model of Library Management System:

An Entity-Relationship Diagram (ERD) for a Library Management System (LMS) models the entities and their relationships within the system. Below is a simplified ERD for a Library Management System. In Synopsys we make a rough ER Diagram to give a idea about the working of the project.

Let’s Draw an ER Model of Library Management System:

ER Model of Library Management System

Entities:

  • Book: Attributes: ISBN (Primary Key), Title, Author, Genre, Published Year, Copies Available, etc.
  • Readers: Attributes: User ID (Primary Key), Name, Email, Address, Phone Number, etc.
  • Staff: Attributes: Staff ID (Primary Key), Name, etc.
  • Authentication System: Attributes: Login ID (Primary Key) and Password
  • Publisher: Attributes: Publisher ID (Primary Key) , Year of Publication, Name, etc.
  • Reports: Attributes: Reg No(Primary Key), User ID, Book No, Issue/Return

Relationships:

  1. Borrow (Association between Readers and Book):
    • A Reader can borrow multiple books.
    • A Book can be borrowed by multiple Readers.
    • Attributes: Borrow Date, Return Date
  2. Manage (Association between Staff and Book):
    • A Staff member manages the catalogue, which includes adding, updating, or removing books.
    • A Book is managed by a Staff member.
    • Attributes: Management Date, Operation Type (Add/Update/Remove)
  3. Issue (Association between Staff and Readers):
    • A Staff member issues library cards to Readers.
    • A Reader can have only one Staff member issuing their card.
    • Attributes: Issue Date, Expiry Date
  4. Authenticate (Association between Authentication System and Staff/Readers):
    • The Authentication System authenticates Staff and Readers during the login process.
    • Attributes: Last Login Date, Login Attempts
  5. Publisher (Association between Book and Publisher):
    • A Book is published by a Publisher.
    • A Publisher can have multiple books.
    • Attributes: Publication Date
  6. Manages (Association Between Staff and Report):
    • A Report is generated for transactions involving Readers and Books.
    • Attributes: Generation Date, Report Type (Issue/Return)

Data Flow Diagram of Library Management System:

Data Flow Diagram (DFD) serves as a visual representation of the flow of information within the system. This diagram illustrates how data, such as book information, user details, and transaction records, moves between various components of the LMS.

  • Processes, represented by circles or ovals, Depict activities such as book issuance, returns, and cataloguing.
  • Data stores, depicted by rectangles, represent where information is stored, including databases housing book records.
  • Data flows, indicated by arrows, showcase how data moves between processes, data stores, and external entities like library patrons.

The DFD provides a concise yet comprehensive overview of the LMS’s data flow and interactions, aiding in the analysis, design, and communication of the system’s functional aspects.

Data Flow Diagram of Library Management System

Use Case Diagram of Library Management System:

Use case diagram referred as a Behaviour model or diagram. It simply describes and displays the relation or interaction between the users or customers and providers of application service or the system. It describes different actions that a system performs in collaboration to achieve something with one or more users of the system. Use case diagram is used a lot nowadays to manage the system.

Here is a Use Case Diagram for Library Management System:

Use Case Diagram for Library Management System

3.3 Features | Project Synopsys for Library Management System

The proposed Library Management System (LMS) is designed to simplify the day-to-day activities of a library, providing features for both users and administrators.

For Users:

We will have following features for a User:

  1. New User Registration:
    • This feature allows new users (students, teachers, etc.) to sign up for the system by providing the necessary details.
  2. Student Login:
    • This feature Provides authenticated access for registered users to use the system.
  3. Search Book:
    • This feature allow users to search for books based on criteria such as book ID, book name, or author name, enhancing the ease of locating desired materials.
  4. Issue Book:
    • This feature allow users in borrowing books from the library by recording the transaction and updating the availability status.
  5. Return Book:
    • This feature allows users to return books either before the due date or after the specified time with a late fine, ensuring proper management of borrowed materials.

For Admin:

  1. Record Library Activities:
    • This feature allows librarians to enter various records into the system, such as book issuances, returns, and non-availability of books.
  2. Manage Books:
    • This feature allow librarians to keep track of the library’s books by adding new books or removing them.
  3. Manage Student:
    • This feature allow librarians to keep track of number of students and their details.
  4. View Issued Books:
    • This feature allows librarians to view all Issued books with their status.
  5. Defaulter List:
    • This feature allows librarians to show the details of the student who did not return the books before the deadline.
  6. Issue Book:
    • This feature allow users in borrowing books from the library by recording the transaction and updating the availability status.

Authentication and Authorization:

  • The system implements a secure login mechanism for users, and administrators. The admin has the authority to manage user access and ensure data integrity.

3.4 Impact | Project Synopsys for Library Management System

The proposed Library Management System (LMS) , developed using MySQL and Java NetBeans, is expected to have a substantial impact on real-life library operations, benefiting both librarians and patrons in several ways:

  • Enhanced User Experience: The user-friendly interface facilitates easy navigation, making it more convenient for library patrons to search for and access resources. This improved experience is likely to encourage greater library utilization.
  • Time Efficiency: The efficient book search functionality and seamless book issuance and return process significantly reduce the time spent by both librarians and patrons. Quick transactions and streamlined processes contribute to a more time-efficient library environment.
  • Automated Tracking for Efficiency: Automation of library activities, such as tracking book transactions and due dates, enhances operational efficiency. Librarians can focus on more strategic tasks, and patrons benefit from timely reminders and notifications, reducing instances of late returns.
  • Accurate Book Availability Records: The regular maintenance of accurate book availability records ensures that the library’s collection remains up-to-date. Patrons can trust the system to provide reliable information on the availability of specific titles, contributing to a more satisfying library experience.
  • Improved Security and Access Control: The implementation of secure login and access control measures ensures the integrity and confidentiality of library data. Librarians can manage user access efficiently, and patrons can trust that their personal information is secure, fostering trust in the system.
  • Resource Optimization: With the ability to track library activities and user preferences, librarians can optimize the library’s resources. This includes restocking popular titles, identifying underutilized resources, and making informed decisions about future acquisitions, ultimately enhancing the library’s overall value.
  • Adaptation to Modern Technologies: The integration of barcode or RFID technology brings the library into the modern age, aligning it with current technological trends. This not only improves the efficiency of book transactions but also showcases the library’s commitment to staying relevant in the digital era.

3.5 Limitations | Project Synopsys for Library Management System

Library Management System (LMS) can offer many benefits, it may also have certain limitations. Here are some potential constraints associated with such a system:

  • Limited Scalability: Depending on the design and architecture, scalability might be limited, making it challenging to handle a significant increase in users or data volume.
  • Performance Issues: Large datasets or complex queries may result in slower performance, especially if optimization techniques are not adequately implemented.
  • Security Concerns: Without careful attention to security practices, there might be vulnerabilities such as SQL injection or cross-site scripting, posing risks to data integrity and user privacy.
  • Offline Accessibility: A web-based LMS may have limitations in providing offline access to resources, which could be a constraint in environments with intermittent or no internet connectivity.
  • Browser Compatibility: Compatibility issues may arise across different browsers, requiring additional effort to ensure a consistent user experience.
  • Limited User Interface Customization: HTML and CSS provide styling capabilities, but achieving highly customized and dynamic user interfaces might be more challenging compared to frameworks with extensive UI libraries.
  • Dependency on JavaScript: If users disable JavaScript in their browsers, certain interactive features might not function correctly, affecting the overall user experience.
  • Complexity in Real-time Updates: Real-time updates, such as simultaneous editing or live notifications, may require more advanced technologies (like WebSocket) and could add complexity to the system.
  • Dependency on Server-Side Processing: Heavy reliance on server-side processing with PHP might lead to increased server loads, affecting response times, especially during peak usage periods.
  • Limited Mobile Responsiveness: While Bootstrap and CSS can enhance mobile responsiveness, ensuring a seamless experience across all devices may require additional effort and testing.

To mitigate these limitations, it’s essential to continuously monitor and update the system, follow best practices in coding and security, and consider adopting additional technologies or frameworks based on evolving project requirements. Regular testing and user feedback can also help identify and address potential constraints.

3.6 Future Scope | Project Synopsys for Library Management System

The future scope of a Library Management System (LMS) developed using HTML, CSS, JS, PHP, and MySQL is promising, with opportunities for enhancement and expansion. Some potential future avenues for the project include:

  • Integration of Advanced Technologies: Explore the integration of emerging technologies such as artificial intelligence (AI) and machine learning (ML) for intelligent book recommendations, predictive analytics, and user behaviour analysis.
  • Mobile Applications: Develop dedicated mobile applications for iOS and Android platforms to provide a more seamless and tailored user experience on smartphones and tablets.
  • Enhanced User Interactivity: Implement more interactive features, such as real-time collaboration, chat support, and discussion forums, to foster a sense of community among library patrons.
  • Accessibility Improvements: Focus on enhancing accessibility features to ensure inclusivity for users with diverse needs, including those with disabilities. This could involve compliance with accessibility standards and guidelines.
  • Blockchain Integration: Explore the potential of integrating blockchain technology for secure and transparent management of transactions, user data, and digital rights management.
  • E-learning Integration: Integrate e-learning functionalities, allowing users to access educational materials, tutorials, and multimedia content directly through the LMS.
  • Data Analytics for Decision-Making: Implement advanced data analytics tools to derive insights into library usage patterns, user preferences, and popular resources. This data-driven approach can inform decision-making for collection development and resource allocation.
  • Multi-language Support: Expand the system’s reach by incorporating multi-language support to cater to diverse user populations and potentially attract a global user base.
  • Enhanced Security Measures: Stay abreast of evolving cybersecurity threats and implement advanced security measures to safeguard user data and ensure the integrity of the system.
  • Customization Options: Provide users with more customization options, allowing them to personalize their profiles, preferences, and interface settings for a tailored experience.
  • Voice Recognition and AI Assistants: Explore the integration of voice recognition technology and AI-driven virtual assistants to enable hands-free interactions and enhance the overall user experience.
  • Collaboration with External Systems: Collaborate with external systems, such as publishers or other libraries, to expand the availability of resources and streamline inter-library loans.
  • User Feedback Mechanisms: Strengthen user feedback mechanisms to continuously gather input on system performance, identify areas for improvement, and enhance user satisfaction.

After Creating Synopsys of our project we will start building Software Requirement Specification for our project , which will be out next phase .

Step 4- Requirement Gathering (Creating SRS for Library Mangement System)

This is the next phase after the submission of the synopsis report. We can do this process before the Synopsys report creation as well , It is all depends upon the project and their requirements. Here after getting an overview about the project now we can easily do the requirement gathering for our project.

Requirement analysis, also known as requirements engineering or elicitation, is a critical phase in the software development process. It involves gathering, documenting, and analysing the needs and constraints of a project to define its scope and guide subsequent development.

stage-4

Requirement Gathering & Designing Phase in Library Management System

We develop a detailed Software Requirement Specification for Library Management System, in this process which will have all the details about the project from Technical to Non Technical Requirements.

Software Requirement Specification (SRS) Document | Library Management System

Below are some of the key points in a Software Requirement Specification Document:

  • Introduction
    • Purpose
    • Scope
    • References
  • Overall Description
    • Product Perspective
    • Product Function
    • User Classes and characteristics
    • Operating Environment
    • Assumptions and Dependencies
  • Functional Requirements
    • Software Requirements
    • Hardware Requirements
    • Database Requirements
  • Non-Functional Requirement
    • Usability Requirements
    • Security Requirements
    • Availability Requirements
    • Scalability Requirements
    • Performance Requirements
  • Design
    • Control Flow Diagram
    • ER Model of LMS
    • Use Case Diagram
  • System Features

Note: To know more about What is a SRS Document or How to write a good SRS for your Project follow these articles.

Let’s Start building a Software Requirement Specification for Library Management System Document for our project:

4.1 SRS (Library Mangement System) | Introduction:

4.1.1 Purpose:

The main objective of this document is to illustrate the requirements of the project Library Management system. The document gives the detailed description of the both functional and non-functional requirements proposed by the client.

The purpose of this project is to provide a friendly environment to maintain the details of books and library members also this project maintains easy circulation system using computers and to provide different reports. It describes the hardware and software interface requirements using ER Models and UML diagrams.

4.1.2 Scope of the Project:

Library Management System is basically updating the manual library system into an internet-based web application so that the users can know the details of their accounts, availability of books and maximum limit for borrowing and many more features.

The project is specifically designed for the use of librarians and library users. The product will work as a complete user interface for library management process and library usage from ordinary users. Library Management System can be used by any existing or new library to manage its books and book borrowing, insertion and monitoring. It is especially useful for any educational institute where modifications in the content can be done easily according to requirements.

The project can be easily implemented under various situations. We can add new features as and when we require, making reusability possible as there is flexibility in all the modules. The language used for developing the project is Html, Bootstrap and php and mysql for backend. In terms of performance, tools available, cross platform compatibility, libraries, cost (freely available), and development process these languages are pretty compatible.

4.1.3 References:

Books:

  • Software Requirements (Microsoft) Second Edition By Karl E. Wiegers
  • Fundamentals of Database System By Elmasri
  • Software Requirements and Specifications: A Lexicon of Practice, Principles and Prejudices (ACM Press) by Michael Jackson
  • Fundamentals of Software Engineering By Rajib Mall
  • Software Engineering: A Practitioner’s Approach Fifth Edition By Roger S. Pressman

4.2 SRS (Library Mangement System) | Overall Description:

4.2.1 Product Perspective:

LMS is a replacement for the ordinary library management systems which depend on paper work for recording book and users’ information. LMS will provide an advanced book search mechanism and will make it easy to borrow, insert and index a book in the library.

4.2.2 Product Functions:

The proposed Library Management System (LMS) is designed to simplify the day-to-day activities of a library, providing features for both users and administrators.

Authentication and Authorization System:

  • The system implements a secure login mechanism for users, and administrators. The admin has the authority to manage user access and ensure data integrity.

For Users:

We will have following features for a User:

  1. New User Registration:
    • This feature allows new users (students, teachers, etc.) to sign up for the system by providing the necessary details.
  2. Student Login:
    • This feature Provides authenticated access for registered users to use the system.
  3. Search Book:
    • This feature allow users to search for books based on criteria such as book ID, book name, or author name, enhancing the ease of locating desired materials.
  4. Issue Book:
    • This feature allow users in borrowing books from the library by recording the transaction and updating the availability status.
  5. Return Book:
    • This feature allows users to return books either before the due date or after the specified time with a late fine, ensuring proper management of borrowed materials.

For Admin:

  1. Record Library Activities:
    • This feature allows librarians to enter various records into the system, such as book issuances, returns, and non-availability of books.
  2. Manage Books:
    • This feature allow librarians to keep track of the library’s books by adding new books or removing them.
  3. Manage Student:
    • This feature allow librarians to keep track of number of students and their details.
  4. View Issued Books:
    • This feature allows librarians to view all Issued books with their status.
  5. Defaulter List:
    • This feature allows librarians to show the details of the student who did not return the books before the deadline.
  6. Issue Book:
    • This feature allow users in borrowing books from the library by recording the transaction and updating the availability status.

4.2.3 Class Diagram and Characteristics:

Class Diagram for Library Management System simply describes structure of Library Management System class, attributes, methods or operations, relationship among objects.

Class Diagram for Library Management System

Aggregation and Multiplicity are two important points that need to take into consideration while designing a Class Diagram. Let us understand in detail.

Aggregation:

  • Aggregation simply shows a relationship where one thing can exist independently of other thing. It means to create or compose different abstractions together in defining a class.
  • Aggregation is represented as a part of relationship in class diagram. In diagram given below, we can see that aggregation is represented by an edge with a diamond end pointing towards superclass.
  • The “Library Management System” is superclass that consists of various classes.These classes are User, Book, and Librarian as shown in diagram. Further, for “Account” class, “User” is a superclass. All of these, share a relationship and these relationships are known as aggregate relationships.

Multiplicity:

  • Multiplicity means that number of elements of a class is associated with another class. These relations can be one-to-one, many-to-many, and many-to-one or one-to-many. For denoting one element we use 1, for zero elements we use 0, and for many elements we use *.
  • We can see in diagram; many users are associated with many books denoted by * and this represents a many-to-many type of relationship. One user has only one account that is denoted by 1 and this represents a one-to-one type of relationship.
  • Many books are associated with one librarian and this represents many-to-one or one-to-many type of relationship. All these relationships are shown in diagram.

4.2.4 General Constraints:

  • The information of all users, books and libraries must be stored in a database that is accessible by the website.
  • MS SQL Server will be used as SQL engine and database.
  • The Online Library System is running 24 hours a day.
  • Users may access LMS from any computer that has Internet browsing capabilities and an Internet connection.
  • Users must have their correct usernames and passwords to enter into their online accounts and do actions.

4.2.5 Assumptions and Dependencies:

The assumptions are:-

  • The Coding should be error free.
  • The system should be user-friendly so that it is easy to use for the users .
  • The information of all users, books and libraries must be stored in a database that is accessible by the website .
  • The system should have more storage capacity and provide fast access to the database.
  • The system should provide search facility and support quick transactions.
  • The Library System is running 24 hours a day .
  • Users may access from any computer that has Internet browsing capabilities and an Pillai Institute of Information Technology, Engineering, Media Studies & Research Department of Information Technology Internet connection.
  • Users must have their correct usernames and passwords to enter into their online accounts and do actions .

The Dependencies are:-

  • The specific hardware and software due to which the product will be run.
  • On the basis of listing requirements and specification the project will be developed and run.
  • The end users (admin) should have proper understanding of the product.
  • The system should have the general report stored.
  • The information of all the users must be stored in a database that is accessible by the Library System.
  • Any update regarding the book from the library is to be recorded to the database and the data entered should be correct.

4.3 SRS (Library Mangement System) | Designing Library Management System :

Use case Diagram for Library Management System:

Use Case Diagram of Library Management System

This is a broad level diagram of the project showing a basic overview. The users can be either staff or student. This System will provide a search functionality to facilitate the search of resources. This search will be based on various categories . Further the library staff personal can add/update the resources and the resource users from the system. The users of the system can request issue/renew/return of books for which they would have to follow certain criteria.

ER Model of Library Management System:

ER Diagram is known as Entity-Relationship Diagram, it is used to analyze  the structure of the Database. It shows relationships between entities and their attributes. An ER Model provides a means of communication. 

The Library Management System database keeps track of readers with the following considerations –

  • The system keeps track of the staff with a single point authentication system comprising login Id and password.
  • Staff maintains the book catalog with its ISBN, Book title, price(in INR), category(novel, general, story), edition, author Number and details.
  • A publisher has publisher Id, Year when the book was published, and name of the book.
  • Readers are registered with their user_id, email, name (first name, last name), Phone no (multiple entries allowed), communication address. The staff keeps track of readers.
  • Readers can return/reserve books that stamps with issue date and return date. If not returned within the prescribed time period, it may have a due date too.
  • Staff also generate reports that has readers id, registration no of report, book no and return/issue info.

Let’s draw an ER Model of Library Management System:

ER Model of Library Management System

Entities and their Attributes –

  • Book Entity : It has authno, isbn number, title, edition, category, price. ISBN is the Primary Key for Book Entity.
  • Reader Entity : It has UserId, Email, address, phone no, name. Name is composite attribute of firstname and lastname. Phone no is multi valued attribute. UserId is the Primary Key for Readers entity.
  • Publisher Entity : It has PublisherId, Year of publication, name. PublisherID is the Primary Key.
  • Authentication System Entity : It has LoginId and password with LoginID as Primary Key.
  • Reports Entity : It has UserId, Reg_no, Book_no, Issue/Return date. Reg_no is the Primary Key of reports entity.
  • Staff Entity : It has name and staff_id with staff_id as Primary Key.
  • Reserve/Return Relationship Set : It has three attributes: Reserve date, Due date, Return date.

Relationships between Entities – 

  • A reader can reserve N books but one book can be reserved by only one reader. The relationship 1:N.
  • A publisher can publish many books but a book is published by only one publisher. The relationship 1:N.
  • Staff keeps track of readers. The relationship is M:N.
  • Staff maintains multiple reports. The relationship 1:N.
  • Staff maintains multiple Books. The relationship 1:N.
  • Authentication system provides login to multiple staffs. The relation is 1:N.

Data Flow Diagram of Library Management System:

Data Flow Diagram (DFD) serves as a visual representation of the flow of information within the system. This diagram illustrates how data, such as book information, user details, and transaction records, moves between various components of the LMS.

  • Processes, represented by circles or ovals, Depict activities such as book issuance, returns, and cataloguing.
  • Data stores, depicted by rectangles, represent where information is stored, including databases housing book records.
  • Data flows, indicated by arrows, showcase how data moves between processes, data stores, and external entities like library patrons.
  • Let’s draw an Data Flow Diagram of Library Management System:

Data Flow Diagram of Library Management System

The DFD provides a concise yet comprehensive overview of the LMS’s data flow and interactions, aiding in the analysis, design, and communication of the system’s functional aspects.

4.4 Functional Requirements | SRS (Library Mangement System)

The LMS must have the following functional requirements:

  • The LMS should store all information about librarian and other users (student students and faculty members) like their login info , books issued etc.
  • The LMS should store all information about the books and users in two separated databases.
  • The LMS should allow searching books / journals by author, title , keywords or availability.
  • The LMS should generate request’s reports for librarian , upon which he/she could make decisions about accepting / rejecting the requests.
  • The LMS should provide the module to Issue or return the books.
  • The LMS should provide modules to search request and renew books .
  • The Admin must be able to add/remove/manage books or users.

4.4.1 Software Requirements:

This software package is developed using html , bootstrap for front end . Php and MY SQL Server as the back end to store the database for backend we are using Xampp server.

  • Operating System: Windows 7, 8, 9, 10 .
  • Language: Html , Css , Javascript , Php , sql
  • Database: MS SQL Server (back end)

4.4.2 Hardware Requirements:

  • Processor: Intel core i3 or above for a stable experience and fast retrieval of data.
  • Hard Disk: 40GB and above
  • RAM: 256 MB or more, recommended 2 GB for fast reading and writing capabilities which will result in better performance time.

4.5 Non Functional Requirements | SRS (Library Mangement System)

4.5.1 Usability Requirements:

  • Our user interface should be interactive simple and easy to understand . The system should prompt for the user and administrator to login to the application for proper input criteria.
  • Library management system shall handle expected and non – expected errors in ways that prevent loss in information and long downtime period.

4.5.2 Security Requirements:

  • System should use secured Database.
  • Normal users can just read information but they cannot edit or modify anything except their personal and some other information.
  • System will have different types of users and every user has access constraints.
  • Proper user authentication should be provided.
  • No one should be able to hack users password .
  • There should be separate accounts for admin and members such that no member can access the database and only admin has the rights to update the database.

4.5.3 Performance Requirements:

  • The system shall accommodate high number of books and users without any fault.
  • Responses to view information shall take no longer than 5 seconds to appear on the screen.

4.5.4 Error Requirements:

LMS product shall handle expected and non-expected errors in ways that prevent loss in information and long downtime period.

4.6 SRS (Library Mangement System) | Appendices:

Appendix A:

  • A: Admin, Abbreviation, Acronym, Assumptions.
  • B: Books, Business rules.
  • C: Class, Client, Conventions.
  • D: Data requirement, Dependencies.
  • G: GUI.
  • K: Key. L: Library, Librarian.
  • N: Non-functional Requirement.
  • O: Operating environment;
  • P: Performance, Perspective, Purpose;
  • R: Requirement, Requirement attributes;
  • S: Safety, Scope, Security, System features;
  • U: User, User class and characteristics, User requirement;

Glossary:

The following are the list of conventions and acronyms used in this document and the project as well:

  • Administrator: A login id representing a user with user administration privileges to the software.
  • User: A general login id assigned to most users.
  • Client: Intended users for the software.
  • User Interface Layer: The section of the assignment referring to what the user interacts with directly.
  • Interface: Something used to communicate across different mediums.

5. Coding or Implementation of Library Mangement System

At this stage, the fundamental development of the product starts. For this, developers use a specific programming code as per the design. Hence, it is important for the coders to follow the protocols set by the association. Conventional programming tools like compilers, interpreters, debuggers, etc. are also put into use at this stage.

stage-5

Coding of Library Management System

In Our project as we will be using php and mysql so we will install all required software’s:

Implementing Library Mangement System | Environment Creation:

Required Softwares:

  • Xampp software ( for php and mysql )
  • VS Code ( you can use any other suitable editor as well )
  • Install Bootstrap or download bootstrap extension on vscode.

After we downloaded the above required software now we will start creating our project . In the following article We will discuss about different different modules compiled with same category.

We will discuss it stepwise :

Implementing Library Mangement System | Database Creation:

Go to your favourite browser and write localhost/dashboard >> phpmyadmin

Now you can create your own database by using New button.

Create a database named LMS and inside it create separate databases like:

Sa

Database Used in this project:

Below is the SQL code to create those tables in the database, You can modify the code to create your own database for the project.

SQL




CREATE TABLE `admins` (
  `id` int(11) NOT NULL,
  `name` varchar(100) NOT NULL,
  `email` varchar(100) NOT NULL,
  `password` varchar(250) NOT NULL,
  `mobile` int(10) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  
--
-- Dumping data for table `admins`
--
  
INSERT INTO `admins` (`id`, `name`, `email`, `password`, `mobile`) VALUES
(1, 'admin', 'admin@gmail.com', 'admin@1234', 1148458757);
  
-- --------------------------------------------------------
  
--
-- Table structure for table `authors`
--
  
CREATE TABLE `authors` (
  `author_id` int(11) NOT NULL,
  `author_name` varchar(250) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  
--
-- Dumping data for table `authors`
--
  
INSERT INTO `authors` (`author_id`, `author_name`) VALUES
(102, 'M D Guptaa'),
(103, 'Chetan Bhagat'),
(104, 'Munshi Prem Chand');
  
-- --------------------------------------------------------
  
--
-- Table structure for table `books`
--
  
CREATE TABLE `books` (
  `book_id` int(11) NOT NULL,
  `book_name` varchar(250) NOT NULL,
  `author_id` int(11) NOT NULL,
  `cat_id` int(11) NOT NULL,
  `book_no` int(11) NOT NULL,
  `book_price` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  
--
-- Dumping data for table `books`
--
  
INSERT INTO `books` (`book_id`, `book_name`, `author_id`, `cat_id`, `book_no`, `book_price`) VALUES
(1, 'Software engineering', 101, 1, 4518, 270),
(2, 'Data structure', 102, 2, 6541, 300);
  
-- --------------------------------------------------------
  
--
-- Table structure for table `category`
--
  
CREATE TABLE `category` (
  `cat_id` int(11) NOT NULL,
  `cat_name` varchar(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  
--
-- Dumping data for table `category`
--
  
INSERT INTO `category` (`cat_id`, `cat_name`) VALUES
(1, 'Computer Science Engineering '),
(2, 'Novel'),
(4, 'Motivational'),
(5, 'Story');
  
-- --------------------------------------------------------
  
--
-- Table structure for table `issued_books`
--
  
CREATE TABLE `issued_books` (
  `s_no` int(11) NOT NULL,
  `book_no` int(11) NOT NULL,
  `book_name` varchar(200) NOT NULL,
  `book_author` varchar(200) NOT NULL,
  `student_id` int(11) NOT NULL,
  `status` int(11) NOT NULL,
  `issue_date` longtext NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  
--
-- Dumping data for table `issued_books`
--
  
INSERT INTO `issued_books` (`s_no`, `book_no`, `book_name`, `book_author`, `student_id`, `status`, `issue_date`) VALUES
(1, 6541, 'Data structure', 'D S Gupta', 4, 1, '0000-00-00 00:00:00');
  
-- --------------------------------------------------------
  
--
-- Table structure for table `users`
--
  
CREATE TABLE `users` (
  `id` int(11) NOT NULL,
  `name` varchar(50) NOT NULL,
  `email` varchar(100) NOT NULL,
  `password` varchar(100) NOT NULL,
  `mobile` int(10) NOT NULL,
  `address` varchar(250) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  
--
-- Dumping data for table `users`
--
  
INSERT INTO `users` (`id`, `name`, `email`, `password`, `mobile`, `address`) VALUES
(4, 'user', 'user@gmail.com', 'user@1234', 2147483644, 'XYZ Coloney, PQR Nagar , Jaipur');
  
--
-- Indexes for dumped tables
--
  
--
-- Indexes for table `admins`
--
ALTER TABLE `admins`
  ADD PRIMARY KEY (`id`);
  
--
-- Indexes for table `authors`
--
ALTER TABLE `authors`
  ADD PRIMARY KEY (`author_id`);
  
--
-- Indexes for table `books`
--
ALTER TABLE `books`
  ADD PRIMARY KEY (`book_id`);
  
--
-- Indexes for table `category`
--
ALTER TABLE `category`
  ADD PRIMARY KEY (`cat_id`);
  
--
-- Indexes for table `issued_books`
--
ALTER TABLE `issued_books`
  ADD PRIMARY KEY (`s_no`);
  
--
-- Indexes for table `users`
--
ALTER TABLE `users`
  ADD PRIMARY KEY (`id`);
  
--
-- AUTO_INCREMENT for dumped tables
--
  
--
-- AUTO_INCREMENT for table `admins`
--
ALTER TABLE `admins`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;
  
--
-- AUTO_INCREMENT for table `authors`
--
ALTER TABLE `authors`
  MODIFY `author_id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=107;
  
--
-- AUTO_INCREMENT for table `books`
--
ALTER TABLE `books`
  MODIFY `book_id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=9;
  
--
-- AUTO_INCREMENT for table `category`
--
ALTER TABLE `category`
  MODIFY `cat_id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=10;
  
--
-- AUTO_INCREMENT for table `issued_books`
--
ALTER TABLE `issued_books`
  MODIFY `s_no` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=19;
  
--
-- AUTO_INCREMENT for table `users`
--
ALTER TABLE `users`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=8;
COMMIT;
  
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;


After creating the database we can now start building the frontend of our project.

Implementing Library Mangement System | Frontend and Backend Development:

Now we are going to develop our frontend and backend part of the project in different modules.

Step 1: Creation of Login page Module:

This is how Our Landing page will look like:

LP-(1)

Functionalities of this page:

  • You Can show some important details on the landing page.
  • Existing Users will be able to login through user login page.
  • Admins can also login using admin login form.
  • Users will be able to signup using above signup button.
  • These will be our main functionalities of login page.

Code:

Below is the Code for creating above page:

index.php




<?php
    session_start();
?>
<!DOCTYPE html>
<html>
<head>
    <title>Library Management System</title>
    <meta charset="utf-8" name="viewport" content="width=device-width,intial-scale=1">
    <link rel="stylesheet" type="text/css" href="bootstrap-4.4.1/css/bootstrap.min.css">
      <script type="text/javascript" src="bootstrap-4.4.1/js/juqery_latest.js"></script>
      <script type="text/javascript" src="bootstrap-4.4.1/js/bootstrap.min.js"></script>
</head>
<style type="text/css">
    #main_content{
        background: rgba(245, 245, 245, 0.9);
        padding: 50px;
    }
    #side_bar{
        background: rgba(245, 245, 245, 0.9);
        padding: 50px;
    }
    body{
      background: rgba(245, 245, 245, 0.4);
   }
</style>
<body>
    <nav class="navbar navbar-expand-lg navbar-dark bg-dark">
        <div class="container-fluid">
            <div class="navbar-header">
                <a class="navbar-brand" href="index.php">Library Management System</a>
            </div>
            <ul class="nav navbar-nav navbar-right">
                <li class="nav-item">
                  <a class="nav-link" href="index.php">User Login</a>
                </li>
              <li class="nav-item">
                <a class="nav-link" href="admin/indexad.php">Admin Login</a>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="signup.php"></span>Signup</a>
              </li>
            </ul>
        </div>
    </nav>
    <div class="row">
        <div class="col-md-4" id="side_bar">
            <h5>Today's Quote</h5>
            <h6>“There is more treasure in books than in all the pirate's loot on Treasure Island"</h6>
            <p>~ Walt Disney</p>
            <h5>Library Timing</h5>
            <ul>
                <li>Opening: 9:00 AM</li>
                <li>Closing: 12:00 PM</li>
            </ul>
            <h5>What We provide ?</h5>
            <ul>
                <li>AC Rooms</li>
                <li>Free Wi-fi</li>
                <li>Learning Environment</li>
                <li>Discussion Room</li>
                <li>Free Electricity</li>
            </ul>
        </div>
        <div class="col-md-8" id="main_content">
            <center><h3>User Login Form</h3></center>
            <form action="" method="post">
                <div class="form-group">
                    <label for="email">Email ID:</label>
                    <input type="text" name="email" class="form-control" required>
                </div>
                <div class="form-group">
                    <label for="password">Password:</label>
                    <input type="password" name="password" class="form-control" required>
                </div>
                <button type="submit" name="login" class="btn btn-primary">Login</button> |
                <a href="signup.php"> Signup now !!</a>    
            </form>
            <?php 
                if(isset($_POST['login'])){
                    $connection = mysqli_connect("localhost","root","");
                    $db = mysqli_select_db($connection,"lms");
                    $query = "select * from users where email = '$_POST[email]'";
                    $query_run = mysqli_query($connection,$query);
                    while ($row = mysqli_fetch_assoc($query_run)) {
                        if($row['email'] == $_POST['email']){
                            if($row['password'] == $_POST['password']){
                                $_SESSION['name'] =  $row['name'];
                                $_SESSION['email'] =  $row['email'];
                                $_SESSION['id'] =  $row['id'];
                                header("Location: user_dashboard.php");
                            }
                            else{
                                ?>
                                <br><br><center><span class="alert-danger">Wrong Password !!</span></center>
                                <?php
                            }
                        }
                    }
                }
            ?>
        </div>
    </div>
</body>
</html>


admin_login.php




<?php
    session_start();
?>
<!DOCTYPE html>
<html>
<head>
    <title>LMS | Login</title>
    <meta charset="utf-8" name="viewport" content="width=device-width,intial-scale=1">
    <link rel="stylesheet" type="text/css" href="../bootstrap-4.4.1/css/bootstrap.min.css">
      <script type="text/javascript" src="./bootstrap-4.4.1/js/juqery_latest.js"></script>
      <script type="text/javascript" src="./bootstrap-4.4.1/js/bootstrap.min.js"></script>
</head>
<style type="text/css">
    #main_content{
        background: rgba(245, 245, 245, 0.9);
        padding: 50px;
    }
    #side_bar{
        background: rgba(245, 245, 245, 0.9);
        padding: 50px;
    }
    body{
      background: rgba(245, 245, 245, 0.4);
   }
</style>
<body>
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
        <div class="container-fluid">
            <div class="navbar-header">
                <a class="navbar-brand" href="index.php">Library Management System</a>
            </div>
            <ul class="nav navbar-nav navbar-right">
                <li class="nav-item">
                  <a class="nav-link" href="./index.php">User Login</a>
                </li>
              <li class="nav-item">
                <a class="nav-link" href="./admin_login.php">Admin Login</a>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="../signup.php"></span>Signup</a>
              </li>
            </ul>
        </div>
    </nav>
    <div class="row">
        <div class="col-md-4" id="side_bar">
            <h5>Today's Quote</h5>
            <h6>“There is more treasure in books than in all the pirate's loot on Treasure Island"</h6>
            <p>~ Walt Disney</p>
            <h5>Library Timing</h5>
            <ul>
                <li>Opening: 9:00 AM</li>
                <li>Closing: 12:00 PM</li>
            </ul>
            <h5>What We provide ?</h5>
            <ul>
                <li>AC Rooms</li>
                <li>Free Wi-fi</li>
                <li>Learning Environment</li>
                <li>Discussion Room</li>
                <li>Free Electricity</li>
            </ul>
        </div>
        <div class="col-md-8" id="main_content">
            <center><h3><u>Admin Login Form</u></h3></center>
            <form action="" method="post">
                <div class="form-group">
                    <label for="email">Email ID:</label>
                    <input type="text" name="email" class="form-control" required>
                </div>
                <div class="form-group">
                    <label for="password">Password:</label>
                    <input type="password" name="password" class="form-control" required>
                </div>
                <button type="submit" name="login" class="btn btn-primary">Login</button>    
            </form>
            <?php 
                if(isset($_POST['login'])){
                    $connection = mysqli_connect("localhost","root","");
                    $db = mysqli_select_db($connection,"lms");
                    $query = "select * from admins where email = '$_POST[email]'";
                    $query_run = mysqli_query($connection,$query);
                    while ($row = mysqli_fetch_assoc($query_run)) {
                        if($row['email'] == $_POST['email']){
                            if($row['password'] == $_POST['password']){
                                $_SESSION['name'] =  $row['name'];
                                $_SESSION['email'] =  $row['email'];
                                header("Location: admin_dashboard.php");
                            }
                            else{
                                ?>
                                <br><br><center><span class="alert-danger">Wrong Password !!</span></center>
                                <?php
                            }
                        }
                    }
                }
            ?>
        </div>
    </div>
</body>
</html>


signup.php




<!DOCTYPE html>
<html>
<head>
    <title>LMS</title>
    <meta charset="utf-8" name="viewport" content="width=device-width,intial-scale=1">
    <link rel="stylesheet" type="text/css" href="bootstrap-4.4.1/css/bootstrap.min.css">
      <script type="text/javascript" src="bootstrap-4.4.1/js/juqery_latest.js"></script>
      <script type="text/javascript" src="bootstrap-4.4.1/js/bootstrap.min.js"></script>
</head>
<style type="text/css">
    #main_content{
        background: rgba(245, 245, 245, 0.9);
        padding: 50px;
    }
    #side_bar{
        background: rgba(245, 245, 245, 0.9);
        padding: 50px;
    }
    body{
      background: rgba(245, 245, 245, 0.4);
   }
</style>
<body>
    <nav class="navbar navbar-expand-lg navbar-dark bg-dark">
        <div class="container-fluid">
            <div class="navbar-header">
                <a class="navbar-brand" href="index.php">Library Management System</a>
            </div>
            <ul class="nav navbar-nav navbar-right">
                <li class="nav-item">
                  <a class="nav-link" href="index.php">User Login</a>
                </li>
              <li class="nav-item">
                <a class="nav-link" href="admin/indexad.php">Admin Login</a>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="signup.php"></span>Signup</a>
              </li>
            </ul>
        </div>
    </nav>
    <div class="row">
        <div class="col-md-4" id="side_bar">
            <h5>Today's Quote</h5>
            <h6>“There is more treasure in books than in all the pirate's loot on Treasure Island"</h6>
            <p>~ Walt Disney</p>
            <h5>Library Timing</h5>
            <ul>
                <li>Opening: 9:00 AM</li>
                <li>Closing: 12:00 PM</li>
            </ul>
            <h5>What We provide ?</h5>
            <ul>
                <li>AC Rooms</li>
                <li>Free Wi-fi</li>
                <li>Learning Environment</li>
                <li>Discussion Room</li>
                <li>Free Electricity</li>
            </ul>
        </div>
        <div class="col-md-8" id="main_content">
            <center><h3><u>User Registration Form</u></h3></center>
            <form action="register.php" method="post">
                <div class="form-group">
                    <label for="name">Full Name:</label>
                    <input type="text" name="name" class="form-control" required>
                </div>
                <div class="form-group">
                    <label for="email">Email ID:</label>
                    <input type="text" name="email" class="form-control" required>
                </div>
                <div class="form-group">
                    <label for="password">Password:</label>
                    <input type="password" name="password" class="form-control" required>
                </div>
                <div class="form-group">
                    <label for="mobile">Mobile:</label>
                    <input type="text" name="mobile" class="form-control" required>
                </div>
                <div class="form-group">
                    <label for="address">Address:</label>
                    <textarea name="address" class="form-control" required></textarea> 
                </div>
                <button type="submit" class="btn btn-primary">Register</button>    
            </form>
        </div>
    </div>
</body>
</html>


register.php




<?php
    $connection = mysqli_connect("localhost","root","");
    $db = mysqli_select_db($connection,"lms");
    $query = "insert into users values('','$_POST[name]','$_POST[email]','$_POST[password]',$_POST[mobile],'$_POST[address]')";
    $query_run = mysqli_query($connection,$query);
?>
<script type="text/javascript">
    alert("Registration successfull...You may Login now !!");
    window.location.href = "index.php";
</script>


logout.php




<?php
    session_unset();
    session_destroy();
    header("Location: index.php");
?>


If you are a new user you can signup and then use login for user dashboard.

Step 2: Creation of User Dashboard Module:

This is how user dashboard will look like:

Dashboard

Functionalities of this page:

  • Page will show the username and email id .
  • User can view Issued books and its count.
  • User can view and edit its profile as well.
  • Users can change his password also.
  • These will be one button for logging out from this page.

Code:

Below is the Code for creating above page:

user_dashboard.php




<?php
    session_start();
    function get_user_issue_book_count(){
        $connection = mysqli_connect("localhost","root","");
        $db = mysqli_select_db($connection,"lms");
        $user_issue_book_count = 0;
        $query = "select count(*) as user_issue_book_count from issued_books where student_id = $_SESSION[id]";
        $query_run = mysqli_query($connection,$query);
        while ($row = mysqli_fetch_assoc($query_run)){
            $user_issue_book_count = $row['user_issue_book_count'];
        }
        return($user_issue_book_count);
    }
?>
<!DOCTYPE html>
<html>
<head>
    <title>Dashboard</title>
    <meta charset="utf-8" name="viewport" content="width=device-width,intial-scale=1">
    <link rel="stylesheet" type="text/css" href="bootstrap-4.4.1/css/bootstrap.min.css">
      <script type="text/javascript" src="bootstrap-4.4.1/js/juqery_latest.js"></script>
      <script type="text/javascript" src="bootstrap-4.4.1/js/bootstrap.min.js"></script>
</head>
<style type="text/css">
    body{
      background: rgba(245, 245, 245, 0.4);
   }
</style>
<body>
    <nav class="navbar navbar-expand-lg navbar-dark bg-dark">
        <div class="container-fluid">
            <div class="navbar-header">
                <a class="navbar-brand" href="admin_dashboard.php">Library Management System (LMS)</a>
            </div>
            <font style="color: white"><span><strong>Welcome: <?php echo $_SESSION['name'];?></strong></span></font>
            <font style="color: white"><span><strong>Email: <?php echo $_SESSION['email'];?></strong></font>
            <ul class="nav navbar-nav navbar-right">
              <li class="nav-item dropdown">
                <a class="nav-link dropdown-toggle" data-toggle="dropdown">My Profile </a>
                <div class="dropdown-menu">
                    <a class="dropdown-item" href="view_profile.php">View Profile</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="edit_profile.php">Edit Profile</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="change_password.php">Change Password</a>
                </div>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="logout.php">Logout</a>
              </li>
            </ul>
        </div>
    </nav>
    <div class="row">
        <div class="col-md-3" style="margin: 25px">
            <div class="card bg-light" style="width: 300px">
                <div class="card-header">Book Issued</div>
                <div class="card-body">
                    <p class="card-text">No of book issued: <?php echo get_user_issue_book_count();?></p>
                    <a class="btn btn-success" href="view_issued_book.php">View Issued Books</a>
                </div>
            </div>
        </div>
        <div class="col-md-3"></div>
        <div class="col-md-3"></div>
    </div>
</body>
</html>


view_profile.php




<?php
    session_start();
    #fetch data from database
    $connection = mysqli_connect("localhost","root","");
    $db = mysqli_select_db($connection,"lms");
    $name = "";
    $email = "";
    $mobile = "";
    $query = "select * from users where email = '$_SESSION[email]'";
    $query_run = mysqli_query($connection,$query);
    while ($row = mysqli_fetch_assoc($query_run)){
        $name = $row['name'];
        $email = $row['email'];
        $mobile = $row['mobile'];
        $address = $row['address'];
    }
?>
<!DOCTYPE html>
<html>
<head>
    <title>Dashboard</title>
    <meta charset="utf-8" name="viewport" content="width=device-width,intial-scale=1">
    <link rel="stylesheet" type="text/css" href="bootstrap-4.4.1/css/bootstrap.min.css">
      <script type="text/javascript" src="bootstrap-4.4.1/js/juqery_latest.js"></script>
      <script type="text/javascript" src="bootstrap-4.4.1/js/bootstrap.min.js"></script>
</head>
<body>
    <nav class="navbar navbar-expand-lg navbar-dark bg-dark">
        <div class="container-fluid">
            <div class="navbar-header">
                <a class="navbar-brand" href="view_profile.php">Library Management System (LMS)</a>
            </div>
            <font style="color: white"><span><strong>Welcome: <?php echo $_SESSION['name'];?></strong></span></font>
            <font style="color: white"><span><strong>Email: <?php echo $_SESSION['email'];?></strong></font>
            <ul class="nav navbar-nav navbar-right">
              <li class="nav-item dropdown">
                <a class="nav-link dropdown-toggle" data-toggle="dropdown">My Profile </a>
                <div class="dropdown-menu">
                    <a class="dropdown-item" href="view_profile.php">View Profile</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="edit_profile.php">Edit Profile</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="change_password.php">Change Password</a>
                </div>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="logout.php">Logout</a>
              </li>
            </ul>
        </div>
    </nav><br>
    <span><marquee>This is library mangement system. Library opens at 8:00 AM and close at 8:00 PM</marquee></span><br><br>
        <center><h4>Student Profile Detail</h4><br></center>
        <div class="row">
            <div class="col-md-4"></div>
            <div class="col-md-4">
                <form>
                    <div class="form-group">
                        <label for="name">Name:</label>
                        <input type="text" class="form-control" value="<?php echo $name;?>" disabled>
                    </div>
                    <div class="form-group">
                        <label for="email">Email:</label>
                        <input type="text" value="<?php echo $email;?>" class="form-control" disabled>
                    </div>
                    <div class="form-group">
                        <label for="mobile">Mobile:</label>
                        <input type="text" value="<?php echo $mobile;?>" class="form-control" disabled>
                    </div>
                    <div class="form-group">
                        <label for="email">Address:</label>
                        <input type="text" value="<?php echo $address;?>" class="form-control" disabled>
                    </div>
                </form>
            </div>
            <div class="col-md-4"></div>
        </div>
</body>
</html>


view_issued_book.php




<?php
    session_start();
    #fetch data from database
    $connection = mysqli_connect("localhost","root","");
    $db = mysqli_select_db($connection,"lms");
    $book_name = "";
    $author = "";
    $book_no = "";
    $query = "select book_name,book_author,book_no from issued_books where student_id = $_SESSION[id] and status = 1";
?>
<!DOCTYPE html>
<html>
<head>
    <title>Issued Books</title>
    <meta charset="utf-8" name="viewport" content="width=device-width,intial-scale=1">
    <link rel="stylesheet" type="text/css" href="bootstrap-4.4.1/css/bootstrap.min.css">
      <script type="text/javascript" src="bootstrap-4.4.1/js/juqery_latest.js"></script>
      <script type="text/javascript" src="bootstrap-4.4.1/js/bootstrap.min.js"></script>
</head>
<body>
    <nav class="navbar navbar-expand-lg navbar-dark bg-dark">
        <div class="container-fluid">
            <div class="navbar-header">
                <a class="navbar-brand" href="user_dashboard.php">Library Management System (LMS)</a>
            </div>
            <font style="color: white"><span><strong>Welcome: <?php echo $_SESSION['name'];?></strong></span></font>
            <font style="color: white"><span><strong>Email: <?php echo $_SESSION['email'];?></strong></font>
            <ul class="nav navbar-nav navbar-right">
              <li class="nav-item dropdown">
                <a class="nav-link dropdown-toggle" data-toggle="dropdown">My Profile </a>
                <div class="dropdown-menu">
                    <a class="dropdown-item" href="view_profile.php">View Profile</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="edit_profile.php">Edit Profile</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="change_password.php">Change Password</a>
                </div>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="logout.php">Logout</a>
              </li>
            </ul>
        </div>
    </nav><br>
    <span><marquee>This is library mangement system. Library opens at 8:00 AM and close at 8:00 PM</marquee></span><br><br>
        <center><h4>Issued Book's Detail</h4><br></center>
        <div class="row">
            <div class="col-md-2"></div>
            <div class="col-md-8">
                <form>
                    <table class="table-bordered" width="900px" style="text-align: center">
                        <tr>
                            <th>Name</th>
                            <th>Author</th>
                            <th>Number</th>
                        </tr>
                  
                    <?php
                        $query_run = mysqli_query($connection,$query);
                        while ($row = mysqli_fetch_assoc($query_run)){
                            ?>
                            <tr>
                            <td><?php echo $row['book_name'];?></td>
                            <td><?php echo $row['book_author'];?></td>
                            <td><?php echo $row['book_no'];?></td>
                        </tr>
  
                    <?php
                        }
                    ?>    
                </table>
                </form>
            </div>
            <div class="col-md-2"></div>
        </div>
</body>
</html>


update_password.php




<?php
    session_start();
    $connection = mysqli_connect("localhost","root","");
    $db = mysqli_select_db($connection,"lms");
    $password = "";
    $query = "select * from users where email = '$_SESSION[email]'";
    $query_run = mysqli_query($connection,$query);
    while ($row = mysqli_fetch_assoc($query_run)){
        $password = $row['password'];
    }
    if($password == $_POST['new_password']){
        $query = "update users set password = '$_POST[new_password]' where email = '$_SESSION[email]'";
        $query_run = mysqli_query($connection,$query);
        ?>
        <script type="text/javascript">
            alert("Updated successfully...");
            window.location.href = "user_dashboard.php";
        </script>
        <?php
    }
    else{
        ?>
        <script type="text/javascript">
            alert("Wrong User Password...");
            window.location.href = "change_password.php";
        </script>
        <?php
    }
?>


update.php




<?php
    $connection = mysqli_connect("localhost","root","");
    $db = mysqli_select_db($connection,"lms");
    $query = "update users set name = '$_POST[name]',email = '$_POST[email]',mobile = '$_POST[mobile]',address = '$_POST[address]'";
    $query_run = mysqli_query($connection,$query);
?>
<script type="text/javascript">
    alert("Updated successfully...");
    window.location.href = "user_dashboard.php";
</script>


edit_profile.php




<?php
    session_start();
    #fetch data from database
    $connection = mysqli_connect("localhost","root","");
    $db = mysqli_select_db($connection,"lms");
    $name = "";
    $email = "";
    $mobile = "";
    $address = "";
    $query = "select * from users where email = '$_SESSION[email]'";
    $query_run = mysqli_query($connection,$query);
    while ($row = mysqli_fetch_assoc($query_run)){
        $name = $row['name'];
        $email = $row['email'];
        $mobile = $row['mobile'];
        $address = $row['address'];
    }
?>
<!DOCTYPE html>
<html>
<head>
    <title>Dashboard</title>
    <meta charset="utf-8" name="viewport" content="width=device-width,intial-scale=1">
    <link rel="stylesheet" type="text/css" href="bootstrap-4.4.1/css/bootstrap.min.css">
      <script type="text/javascript" src="bootstrap-4.4.1/js/juqery_latest.js"></script>
      <script type="text/javascript" src="bootstrap-4.4.1/js/bootstrap.min.js"></script>
</head>
<body>
    <nav class="navbar navbar-expand-lg navbar-dark bg-dark">
        <div class="container-fluid">
            <div class="navbar-header">
                <a class="navbar-brand" href="admin_dashboard.php">Library Management System (LMS)</a>
            </div>
            <font style="color: white"><span><strong>Welcome: <?php echo $_SESSION['name'];?></strong></span></font>
            <font style="color: white"><span><strong>Email: <?php echo $_SESSION['email'];?></strong></font>
            <ul class="nav navbar-nav navbar-right">
              <li class="nav-item dropdown">
                <a class="nav-link dropdown-toggle" data-toggle="dropdown">My Profile </a>
                <div class="dropdown-menu">
                    <a class="dropdown-item" href="view_profile.php">View Profile</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="edit_profile.php">Edit Profile</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="change_password.php">Change Password</a>
                </div>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="../logout.php">Logout</a>
              </li>
            </ul>
        </div>
    </nav><br>
    <span><marquee>This is library mangement system. Library opens at 8:00 AM and close at 8:00 PM</marquee></span><br><br>
        <center><h4>Edit Profile</h4><br></center>
        <div class="row">
            <div class="col-md-4"></div>
            <div class="col-md-4">
                <form action="update.php" method="post">
                    <div class="form-group">
                        <label for="name">Name:</label>
                        <input type="text" class="form-control" name="name" value="<?php echo $name;?>">
                    </div>
                    <div class="form-group">
                        <label for="email">Email:</label>
                        <input type="text" name="email" class="form-control" value="<?php echo $email;?>">
                    </div>
                    <div class="form-group">
                        <label for="mobile">Mobile:</label>
                        <input type="text" name="mobile" class="form-control" value="<?php echo $mobile;?>">
                    </div>
                    <div class="form-group">
                        <label for="mobile">Address:</label>
                        <textarea rows="3" cols="40" name="address" class="form-control"><?php echo $address;?></textarea>
                    </div>
                    <button type="submit" name="update" class="btn btn-primary">Update</button>
                </form>
            </div>
            <div class="col-md-4"></div>
        </div>
</body>
</html>


change_password.php




<?php
    session_start();
?>
<!DOCTYPE html>
<html>
<head>
    <title>Dashboard</title>
    <meta charset="utf-8" name="viewport" content="width=device-width,intial-scale=1">
    <link rel="stylesheet" type="text/css" href="bootstrap-4.4.1/css/bootstrap.min.css">
      <script type="text/javascript" src="bootstrap-4.4.1/js/juqery_latest.js"></script>
      <script type="text/javascript" src="bootstrap-4.4.1/js/bootstrap.min.js"></script>
</head>
<body>
    <nav class="navbar navbar-expand-lg navbar-dark bg-dark">
        <div class="container-fluid">
            <div class="navbar-header">
                <a class="navbar-brand" href="user_dashboard.php">Library Management System (LMS)</a>
            </div>
            <font style="color: white"><span><strong>Welcome: <?php echo $_SESSION['name'];?></strong></span></font>
            <font style="color: white"><span><strong>Email: <?php echo $_SESSION['email'];?></strong></font>
            <ul class="nav navbar-nav navbar-right">
              <li class="nav-item dropdown">
                <a class="nav-link dropdown-toggle" data-toggle="dropdown">My Profile </a>
                <div class="dropdown-menu">
                    <a class="dropdown-item" href="view_profile.php">View Profile</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="edit_profile.php">Edit Profile</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="change_password.php">Change Password</a>
                </div>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="../logout.php">Logout</a>
              </li>
            </ul>
        </div>
    </nav><br>
    <span><marquee>This is library mangement system. Library opens at 8:00 AM and close at 8:00 PM</marquee></span><br><br>
        <center><h4>Change Student Password</h4><br></center>
        <div class="row">
            <div class="col-md-4"></div>
            <div class="col-md-4">
                <form action="update_password.php" method="post">
                    <div class="form-group">
                        <label for="password">Enter Password:</label>
                        <input type="password" class="form-control" name="old_password">
                    </div>
                    <div class="form-group">
                        <label for="New Password">Enter New Password:</label>
                        <input type="password" name="new_password" class="form-control">
                    </div>
                    <button type="submit" name="update" class="btn btn-primary">Update Password</button>
                </form>
            </div>
            <div class="col-md-4"></div>
        </div>
</body>
</html>


Step 3: Creation of Admin Dashboard Module:

This is how our admin dashboard will look like:

Admind

Functionalities of this page:

  • Page will show the username and email id of admin.
  • Admin can view and edit his profile.
  • Dashboard will show the Below features:
    • Registered Users
    • Details of available books.
    • Details of all book’s categories.
    • Details of authors.
    • Issued books details.
  • Managerial features:
    • Admin can add or manage existing books.
    • Admin can add or manage categories of books.
    • Admin can add or manage the authors.
  • One Important feature is Admin can Issue Book to any user.

Code:

Below is the Code for creating above page:

admin_dashboard.php




<?php
    require("functions.php");
    session_start();
?>
<!DOCTYPE html>
<html>
<head>
    <title>Dashboard</title>
    <meta charset="utf-8" name="viewport" content="width=device-width,intial-scale=1">
    <link rel="stylesheet" type="text/css" href="../bootstrap-4.4.1/css/bootstrap.min.css">
      <script type="text/javascript" src="../bootstrap-4.4.1/js/juqery_latest.js"></script>
      <script type="text/javascript" src="../bootstrap-4.4.1/js/bootstrap.min.js"></script>
</head>
<body>
    <nav class="navbar navbar-expand-lg navbar-dark bg-dark">
        <div class="container-fluid">
            <div class="navbar-header">
                <a class="navbar-brand" href="admin_dashboard.php">Library Management System (LMS)</a>
            </div>
            <font style="color: white"><span><strong>Welcome: <?php echo $_SESSION['name'];?></strong></span></font>
            <font style="color: white"><span><strong>Email: <?php echo $_SESSION['email'];?></strong></font>
            <ul class="nav navbar-nav navbar-right">
              <li class="nav-item dropdown">
                <a class="nav-link dropdown-toggle" data-toggle="dropdown">My Profile </a>
                <div class="dropdown-menu">
                    <a class="dropdown-item" href="view_profile.php">View Profile</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="edit_profile.php">Edit Profile</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="change_password.php">Change Password</a>
                </div>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="../logout.php">Logout</a>
              </li>
            </ul>
        </div>
    </nav><br>
    <nav class="navbar navbar-expand-lg navbar-light" style="background-color: #e3f2fd">
        <div class="container-fluid">
              
            <ul class="nav navbar-nav navbar-center">
              <li class="nav-item">
                <a class="nav-link" href="admin_dashboard.php">Dashboard</a>
              </li>
              <li class="nav-item dropdown">
                <a class="nav-link dropdown-toggle" data-toggle="dropdown">Books </a>
                <div class="dropdown-menu">
                    <a class="dropdown-item" href="add_book.php">Add New Book</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="manage_book.php">Manage Books</a>
                </div>
              </li>
              <li class="nav-item dropdown">
                <a class="nav-link dropdown-toggle" data-toggle="dropdown">Category </a>
                <div class="dropdown-menu">
                    <a class="dropdown-item" href="add_cat.php">Add New Category</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="manage_cat.php">Manage Category</a>
                </div>
              </li>
              <li class="nav-item dropdown">
                <a class="nav-link dropdown-toggle" data-toggle="dropdown">Authors</a>
                <div class="dropdown-menu">
                    <a class="dropdown-item" href="add_author.php">Add New Author</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="manage_author.php">Manage Author</a>
                </div>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="issue_book.php">Issue Book</a>
              </li>
            </ul>
        </div>
    </nav><br>
    <div class="row">
        <div class="col-md-3" style="margin: 0px ">
            <div class="card bg-light" style=" width: 300px ">
                <div class="card-header">Registered User</div>
                <div class="card-body">
                    <p class="card-text">No. total Users: <?php echo get_user_count();?></p>
                    <a class="btn btn-danger" href="Regusers.php" target="_blank">View Registered Users</a>
                </div>
            </div>
        </div>
        <div class="col-md-3" style="margin: 0px">
            <div class="card bg-light" style="width: 300px">
                <div class="card-header">Total Book</div>
                <div class="card-body">
                    <p class="card-text">No of books available: <?php echo get_book_count();?></p>
                    <a class="btn btn-success" href="Regbooks.php" target="_blank">View All Books</a>
                </div>
            </div>
        </div>
        <div class="col-md-3" style="margin: 0px">
            <div class="card bg-light" style="width: 300px">
                <div class="card-header">Book Categories</div>
                <div class="card-body">
                    <p class="card-text">No of Book's Categories: <?php echo get_category_count();?></p>
                    <a class="btn btn-warning" href="Regcat.php" target="_blank">View Categories</a>
                </div>
            </div>
        </div>
        <div class="col-md-3" style="margin: 0px">
            <div class="card bg-light" style="width: 300px">
                <div class="card-header">No. of Authors</div>
                <div class="card-body">
                    <p class="card-text">No of Authors: <?php echo get_author_count();?></p>
                    <a class="btn btn-primary" href="Regauthor.php" target="_blank">View Authors</a>
                </div>
            </div>
        </div>
    </div><br><br>
    <div class="row">
        <div class="col-md-3" style="margin: 0px">
            <div class="card bg-light" style="width: 300px">
                <div class="card-header">Book Issued</div>
                <div class="card-body">
                    <p class="card-text">No of book issued: <?php echo get_issue_book_count();?></p>
                    <a class="btn btn-success" href="view_issued_book.php" target="_blank">View Issued Books</a>
                </div>
            </div>
        </div>
        <div class="col-md-3"></div>
        <div class="col-md-3"></div>
    </div>
</body>
</html>


view_profile.php




<?php
    require("functions.php");
    session_start();
    #fetch data from database
    $connection = mysqli_connect("localhost","root","");
    $db = mysqli_select_db($connection,"lms");
    $name = "";
    $email = "";
    $mobile = "";
    $query = "select * from admins where email = '$_SESSION[email]'";
    $query_run = mysqli_query($connection,$query);
    while ($row = mysqli_fetch_assoc($query_run)){
        $name = $row['name'];
        $email = $row['email'];
        $mobile = $row['mobile'];
    }
?>
<!DOCTYPE html>
<html>
<head>
    <title>Dashboard</title>
    <meta charset="utf-8" name="viewport" content="width=device-width,intial-scale=1">
    <link rel="stylesheet" type="text/css" href="../bootstrap-4.4.1/css/bootstrap.min.css">
      <script type="text/javascript" src="../bootstrap-4.4.1/js/juqery_latest.js"></script>
      <script type="text/javascript" src="../bootstrap-4.4.1/js/bootstrap.min.js"></script>
</head>
<body>
    <nav class="navbar navbar-expand-lg navbar-dark bg-dark">
        <div class="container-fluid">
            <div class="navbar-header">
                <a class="navbar-brand" href="admin_dashboard.php">Library Management System (LMS)</a>
            </div>
            <font style="color: white"><span><strong>Welcome: <?php echo $_SESSION['name'];?></strong></span></font>
            <font style="color: white"><span><strong>Email: <?php echo $_SESSION['email'];?></strong></font>
            <ul class="nav navbar-nav navbar-right">
              <li class="nav-item dropdown">
                <a class="nav-link dropdown-toggle" data-toggle="dropdown">My Profile </a>
                <div class="dropdown-menu">
                    <a class="dropdown-item" href="view_profile.php">View Profile</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="edit_profile.php">Edit Profile</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="change_password.php">Change Password</a>
                </div>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="../logout.php">Logout</a>
              </li>
            </ul>
        </div>
    </nav><br>
    <span><marquee>This is library mangement system. Library opens at 8:00 AM and close at 8:00 PM</marquee></span><br><br>
        <center><h4>Admin Profile Detail</h4><br></center>
        <div class="row">
            <div class="col-md-4"></div>
            <div class="col-md-4">
                <form>
                    <div class="form-group">
                        <label for="name">Name:</label>
                        <input type="text" class="form-control" value="<?php echo $name;?>" disabled>
                    </div>
                    <div class="form-group">
                        <label for="email">Email:</label>
                        <input type="text" value="<?php echo $email;?>" class="form-control" disabled>
                    </div>
                    <div class="form-group">
                        <label for="mobile">Mobile:</label>
                        <input type="text" value="<?php echo $mobile;?>" class="form-control" disabled>
                    </div>
                </form>
            </div>
            <div class="col-md-4"></div>
        </div>
</body>
</html>


edit_profile




<?php
    require("functions.php");
    session_start();
    #fetch data from database
    $connection = mysqli_connect("localhost","root","");
    $db = mysqli_select_db($connection,"lms");
    $name = "";
    $email = "";
    $mobile = "";
    $query = "select * from admins where email = '$_SESSION[email]'";
    $query_run = mysqli_query($connection,$query);
    while ($row = mysqli_fetch_assoc($query_run)){
        $name = $row['name'];
        $email = $row['email'];
        $mobile = $row['mobile'];
    }
?>
<!DOCTYPE html>
<html>
<head>
    <title>Dashboard</title>
    <meta charset="utf-8" name="viewport" content="width=device-width,intial-scale=1">
    <link rel="stylesheet" type="text/css" href="../bootstrap-4.4.1/css/bootstrap.min.css">
      <script type="text/javascript" src="../bootstrap-4.4.1/js/juqery_latest.js"></script>
      <script type="text/javascript" src="../bootstrap-4.4.1/js/bootstrap.min.js"></script>
</head>
<body>
    <nav class="navbar navbar-expand-lg navbar-dark bg-dark">
        <div class="container-fluid">
            <div class="navbar-header">
                <a class="navbar-brand" href="admin_dashboard.php">Library Management System (LMS)</a>
            </div>
            <font style="color: white"><span><strong>Welcome: <?php echo $_SESSION['name'];?></strong></span></font>
            <font style="color: white"><span><strong>Email: <?php echo $_SESSION['email'];?></strong></font>
            <ul class="nav navbar-nav navbar-right">
              <li class="nav-item dropdown">
                <a class="nav-link dropdown-toggle" data-toggle="dropdown">My Profile </a>
                <div class="dropdown-menu">
                    <a class="dropdown-item" href="">View Profile</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="#">Edit Profile</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="change_password.php">Change Password</a>
                </div>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="../logout.php">Logout</a>
              </li>
            </ul>
        </div>
    </nav><br>
    <span><marquee>This is library mangement system. Library opens at 8:00 AM and close at 8:00 PM</marquee></span><br><br>
        <center><h4>Admin Profile Detail</h4><br></center>
        <div class="row">
            <div class="col-md-4"></div>
            <div class="col-md-4">
                <form action="update.php" method="post">
                    <div class="form-group">
                        <label for="name">Name:</label>
                        <input type="text" class="form-control" name="name" value="<?php echo $name;?>">
                    </div>
                    <div class="form-group">
                        <label for="email">Email:</label>
                        <input type="text" name="email" class="form-control" value="<?php echo $email;?>">
                    </div>
                    <div class="form-group">
                        <label for="mobile">Mobile:</label>
                        <input type="text" name="mobile" class="form-control" value="<?php echo $mobile;?>">
                    </div>
                    <button type="submit" name="update" class="btn btn-primary">Update</button>
                </form>
            </div>
            <div class="col-md-4"></div>
        </div>
</body>
</html>


change_password




<?php
    require("functions.php");
    session_start();
?>
<!DOCTYPE html>
<html>
<head>
    <title>Dashboard</title>
    <meta charset="utf-8" name="viewport" content="width=device-width,intial-scale=1">
    <link rel="stylesheet" type="text/css" href="../bootstrap-4.4.1/css/bootstrap.min.css">
      <script type="text/javascript" src="../bootstrap-4.4.1/js/juqery_latest.js"></script>
      <script type="text/javascript" src="../bootstrap-4.4.1/js/bootstrap.min.js"></script>
</head>
<body>
    <nav class="navbar navbar-expand-lg navbar-dark bg-dark">
        <div class="container-fluid">
            <div class="navbar-header">
                <a class="navbar-brand" href="admin_dashboard.php">Library Management System (LMS)</a>
            </div>
            <font style="color: white"><span><strong>Welcome: <?php echo $_SESSION['name'];?></strong></span></font>
            <font style="color: white"><span><strong>Email: <?php echo $_SESSION['email'];?></strong></font>
            <ul class="nav navbar-nav navbar-right">
              <li class="nav-item dropdown">
                <a class="nav-link dropdown-toggle" data-toggle="dropdown">My Profile </a>
                <div class="dropdown-menu">
                    <a class="dropdown-item" href="view_profile.php">View Profile</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="edit_profile.php">Edit Profile</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="change_password.php">Change Password</a>
                </div>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="../logout.php">Logout</a>
              </li>
            </ul>
        </div>
    </nav><br>
    <span><marquee>This is library mangement system. Library opens at 8:00 AM and close at 8:00 PM</marquee></span><br><br>
        <center><h4>Change Admin Password</h4><br></center>
        <div class="row">
            <div class="col-md-4"></div>
            <div class="col-md-4">
                <form action="update_password.php" method="post">
                    <div class="form-group">
                        <label for="password">Enter Password:</label>
                        <input type="password" class="form-control" name="old_password">
                    </div>
                    <div class="form-group">
                        <label for="New Password">Enter New Password:</label>
                        <input type="password" name="new_password" class="form-control">
                    </div>
                    <button type="submit" name="update" class="btn btn-primary">Update Password</button>
                </form>
            </div>
            <div class="col-md-4"></div>
        </div>
</body>
</html>


update_password.php




<?php
    session_start();
    $connection = mysqli_connect("localhost","root","");
    $db = mysqli_select_db($connection,"lms");
    $password = "";
    $query = "select * from admins where email = '$_SESSION[email]'";
    $query_run = mysqli_query($connection,$query);
    while ($row = mysqli_fetch_assoc($query_run)){
        $password = $row['password'];
    }
    if($password == $_POST['new_password']){
        $query = "update admins set password = '$_POST[new_password]' where email = '$_SESSION[email]'";
        $query_run = mysqli_query($connection,$query);
        ?>
        <script type="text/javascript">
            alert("Updated successfully...");
            window.location.href = "admin_dashboard.php";
        </script>
        <?php
    }
    else{
        ?>
        <script type="text/javascript">
            alert("Wrong Admin Password...");
            window.location.href = "change_password.php";
        </script>
        <?php
    }
?>


update.php




<?php
    $connection = mysqli_connect("localhost","root","");
    $db = mysqli_select_db($connection,"lms");
    $query = "update admins set name = '$_POST[name]',email = '$_POST[email]',mobile = '$_POST[mobile]'";
    $query_run = mysqli_query($connection,$query);
?>
<script type="text/javascript">
    alert("Updated successfully...");
    window.location.href = "admin_dashboard.php";
</script>


functions.php




<?php
    function get_author_count(){
        $connection = mysqli_connect("localhost","root","");
        $db = mysqli_select_db($connection,"lms");
        $author_count = 0;
        $query = "select count(*) as author_count from authors";
        $query_run = mysqli_query($connection,$query);
        while ($row = mysqli_fetch_assoc($query_run)){
            $author_count = $row['author_count'];
        }
        return($author_count);
    }
  
    function get_user_count(){
        $connection = mysqli_connect("localhost","root","");
        $db = mysqli_select_db($connection,"lms");
        $user_count = 0;
        $query = "select count(*) as user_count from users";
        $query_run = mysqli_query($connection,$query);
        while ($row = mysqli_fetch_assoc($query_run)){
            $user_count = $row['user_count'];
        }
        return($user_count);
    }
  
    function get_book_count(){
        $connection = mysqli_connect("localhost","root","");
        $db = mysqli_select_db($connection,"lms");
        $book_count = 0;
        $query = "select count(*) as book_count from books";
        $query_run = mysqli_query($connection,$query);
        while ($row = mysqli_fetch_assoc($query_run)){
            $book_count = $row['book_count'];
        }
        return($book_count);
    }
  
    function get_issue_book_count(){
        $connection = mysqli_connect("localhost","root","");
        $db = mysqli_select_db($connection,"lms");
        $issue_book_count = 0;
        $query = "select count(*) as issue_book_count from issued_books";
        $query_run = mysqli_query($connection,$query);
        while ($row = mysqli_fetch_assoc($query_run)){
            $issue_book_count = $row['issue_book_count'];
        }
        return($issue_book_count);
    }
  
    function get_category_count(){
        $connection = mysqli_connect("localhost","root","");
        $db = mysqli_select_db($connection,"lms");
        $cat_count = 0;
        $query = "select count(*) as cat_count from category";
        $query_run = mysqli_query($connection,$query);
        while ($row = mysqli_fetch_assoc($query_run)){
            $cat_count = $row['cat_count'];
        }
        return($cat_count);
    }
?>


view_issued_book.php




<?php
    session_start();
    #fetch data from database
    $connection = mysqli_connect("localhost","root","");
    $db = mysqli_select_db($connection,"lms");
    $book_name = "";
    $author = "";
    $book_no = "";
    $student_name = "";
    $query = "select issued_books.book_name,issued_books.book_author,issued_books.book_no,users.name from issued_books left join users on issued_books.student_id = users.id where issued_books.status = 1";
?>
<!DOCTYPE html>
<html>
<head>
    <title>Issued Books</title>
    <meta charset="utf-8" name="viewport" content="width=device-width,intial-scale=1">
    <link rel="stylesheet" type="text/css" href="../bootstrap-4.4.1/css/bootstrap.min.css">
      <script type="text/javascript" src="../bootstrap-4.4.1/js/juqery_latest.js"></script>
      <script type="text/javascript" src="../bootstrap-4.4.1/js/bootstrap.min.js"></script>
</head>
<body>
    <nav class="navbar navbar-expand-lg navbar-dark bg-dark">
        <div class="container-fluid">
            <div class="navbar-header">
                <a class="navbar-brand" href="admin_dashboard.php">Library Management System (LMS)</a>
            </div>
            <font style="color: white"><span><strong>Welcome: <?php echo $_SESSION['name'];?></strong></span></font>
            <font style="color: white"><span><strong>Email: <?php echo $_SESSION['email'];?></strong></font>
            <ul class="nav navbar-nav navbar-right">
              <li class="nav-item dropdown">
                <a class="nav-link dropdown-toggle" data-toggle="dropdown">My Profile </a>
                <div class="dropdown-menu">
                    <a class="dropdown-item" href="#">View Profile</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="#">Edit Profile</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="change_password.php">Change Password</a>
                </div>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="../logout.php">Logout</a>
              </li>
            </ul>
        </div>
    </nav><br>
    <span><marquee>This is library mangement system. Library opens at 8:00 AM and close at 8:00 PM</marquee></span><br><br>
        <center><h4>Issued Book's Detail</h4><br></center>
        <div class="row">
            <div class="col-md-2"></div>
            <div class="col-md-8">
                <form>
                    <table class="table-bordered" width="900px" style="text-align: center">
                        <tr>
                            <th>Name</th>
                            <th>Author</th>
                            <th>Number</th>
                            <th>Student Name</th>
                        </tr>
                  
                    <?php
                        $query_run = mysqli_query($connection,$query);
                        while ($row = mysqli_fetch_assoc($query_run)){
                            ?>
                            <tr>
                            <td><?php echo $row['book_name'];?></td>
                            <td><?php echo $row['book_author'];?></td>
                            <td><?php echo $row['book_no'];?></td>
                            <td><?php echo $row['name'];?></td>
                        </tr>
  
                    <?php
                        }
                    ?>    
                </table>
                </form>
            </div>
            <div class="col-md-2"></div>
        </div>
</body>
</html>


Regusers.php




<?php
    session_start();
    #fetch data from database
    $connection = mysqli_connect("localhost","root","");
    $db = mysqli_select_db($connection,"lms");
    $name = "";
    $email = "";
    $password = "";
    $mobile = "";
    $address = "";
    $query = "select * from users";
?>
<!DOCTYPE html>
<html>
<head>
    <title>All Reg Users</title>
    <meta charset="utf-8" name="viewport" content="width=device-width,intial-scale=1">
    <link rel="stylesheet" type="text/css" href="../bootstrap-4.4.1/css/bootstrap.min.css">
      <script type="text/javascript" src="../bootstrap-4.4.1/js/juqery_latest.js"></script>
      <script type="text/javascript" src="../bootstrap-4.4.1/js/bootstrap.min.js"></script>
</head>
<body>
    <nav class="navbar navbar-expand-lg navbar-dark bg-dark">
        <div class="container-fluid">
            <div class="navbar-header">
                <a class="navbar-brand" href="admin_dashboard.php">Library Management System (LMS)</a>
            </div>
            <font style="color: white"><span><strong>Welcome: <?php echo $_SESSION['name'];?></strong></span></font>
            <font style="color: white"><span><strong>Email: <?php echo $_SESSION['email'];?></strong></font>
            <ul class="nav navbar-nav navbar-right">
              <li class="nav-item dropdown">
                <a class="nav-link dropdown-toggle" data-toggle="dropdown">My Profile </a>
                <div class="dropdown-menu">
                    <a class="dropdown-item" href="#">View Profile</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="#">Edit Profile</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="change_password.php">Change Password</a>
                </div>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="../logout.php">Logout</a>
              </li>
            </ul>
        </div>
    </nav><br>
    <span><marquee>This is library mangement system. Library opens at 8:00 AM and close at 8:00 PM</marquee></span><br><br>
        <center><h4>Registered Users Detail</h4><br></center>
        <div class="row">
            <div class="col-md-2"></div>
            <div class="col-md-8">
                <form>
                    <table class="table-bordered" width="900px" style="text-align: center">
                        <tr>
                            <th>Name</th>
                            <th>Mobile</th>
                            <th>Email</th>
                            <th>Address</th>
                        </tr>
                  
                    <?php
                        $query_run = mysqli_query($connection,$query);
                        while ($row = mysqli_fetch_assoc($query_run)){
                            $name = $row['name'];
                            $email = $row['email'];
                            $mobile = $row['mobile'];
                            $address = $row['address'];
                    ?>
                        <tr>
                            <td><?php echo $name;?></td>
                            <td><?php echo $email;?></td>
                            <td><?php echo $mobile;?></td>
                            <td><?php echo $address;?></td>
                        </tr>
                    <?php
                        }
                    ?>    
                </table>
                </form>
            </div>
            <div class="col-md-2"></div>
        </div>
</body>
</html>


registered_user.php




<?php
    $connection = mysqli_connect("localhost","root","");
    $db = mysqli_select_db($connection,"lms");
    $user_count = 0;
    $query = "select count(*) as user_count from users";
    $query_run = mysqli_query($connection,$query);
    while ($row = mysqli_fetch_assoc($query_run)){
        $user_count = $row['user_count'];
    }
?>


Step 4: Creation of Add/Manage Book Module:

This is how Add/Manage Books will look like:

book1

Add book page

book2

Manage Book Page

db

Books Database

Features:

  • Admin can add a new book using its details.
  • Admin can edit the details of existing books.
  • All changes will be reflected on our SQL database.

Code:

Below is the code for modules mentioned above:

add_book.php




<?php
    require("functions.php");
    session_start();
    #fetch data from database
    $connection = mysqli_connect("localhost","root","");
    $db = mysqli_select_db($connection,"lms");
    $name = "";
    $email = "";
    $mobile = "";
    $query = "select * from admins where email = '$_SESSION[email]'";
    $query_run = mysqli_query($connection,$query);
    while ($row = mysqli_fetch_assoc($query_run)){
        $name = $row['name'];
        $email = $row['email'];
        $mobile = $row['mobile'];
    }
?>
<!DOCTYPE html>
<html>
<head>
    <title>Add New Book</title>
    <meta charset="utf-8" name="viewport" content="width=device-width,intial-scale=1">
    <link rel="stylesheet" type="text/css" href="../bootstrap-4.4.1/css/bootstrap.min.css">
      <script type="text/javascript" src="../bootstrap-4.4.1/js/juqery_latest.js"></script>
      <script type="text/javascript" src="../bootstrap-4.4.1/js/bootstrap.min.js"></script>
      <script type="text/javascript">
          function alertMsg(){
              alert(Book added successfully...);
              window.location.href = "admin_dashboard.php";
          }
      </script>
</head>
<body>
    <nav class="navbar navbar-expand-lg navbar-dark bg-dark">
        <div class="container-fluid">
            <div class="navbar-header">
                <a class="navbar-brand" href="admin_dashboard.php">Library Management System (LMS)</a>
            </div>
            <font style="color: white"><span><strong>Welcome: <?php echo $_SESSION['name'];?></strong></span></font>
            <font style="color: white"><span><strong>Email: <?php echo $_SESSION['email'];?></strong></font>
            <ul class="nav navbar-nav navbar-right">
              <li class="nav-item dropdown">
                <a class="nav-link dropdown-toggle" data-toggle="dropdown">My Profile </a>
                <div class="dropdown-menu">
                    <a class="dropdown-item" href="">View Profile</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="#">Edit Profile</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="change_password.php">Change Password</a>
                </div>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="../logout.php">Logout</a>
              </li>
            </ul>
        </div>
    </nav><br>
    <nav class="navbar navbar-expand-lg navbar-light" style="background-color: #e3f2fd">
        <div class="container-fluid">
              
            <ul class="nav navbar-nav navbar-center">
              <li class="nav-item">
                <a class="nav-link" href="admin_dashboard.php">Dashboard</a>
              </li>
              <li class="nav-item dropdown">
                <a class="nav-link dropdown-toggle" data-toggle="dropdown">Books </a>
                <div class="dropdown-menu">
                    <a class="dropdown-item" href="add_book.php">Add New Book</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="manage_book.php">Manage Books</a>
                </div>
              </li>
              <li class="nav-item dropdown">
                <a class="nav-link dropdown-toggle" data-toggle="dropdown">Category </a>
                <div class="dropdown-menu">
                    <a class="dropdown-item" href="add_cat.php">Add New Category</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="manage_cat.php">Manage Category</a>
                </div>
              </li>
              <li class="nav-item dropdown">
                <a class="nav-link dropdown-toggle" data-toggle="dropdown">Authors</a>
                <div class="dropdown-menu">
                    <a class="dropdown-item" href="add_author.php">Add New Author</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="manage_author.php">Manage Author</a>
                </div>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="issue_book.php">Issue Book</a>
              </li>
            </ul>
        </div>
    </nav><br>
    <center><h4>Add a new Book</h4><br></center>
        <div class="row">
            <div class="col-md-4"></div>
            <div class="col-md-4">
                <form action="" method="post">
                    <div class="form-group">
                        <label for="email">Book Name:</label>
                        <input type="text" name="book_name" class="form-control" required>
                    </div>
                    <div class="form-group">
                        <label for="mobile">Author ID:</label>
                        <input type="text" name="book_author" class="form-control" required>
                    </div>
                    <div class="form-group">
                        <label for="mobile">Category ID:</label>
                        <input type="text" name="book_category" class="form-control" required>
                    </div>
                    <div class="form-group">
                        <label for="mobile">Book Number:</label>
                        <input type="text" name="book_no" class="form-control" required>
                    </div>
                    <div class="form-group">
                        <label for="mobile">Book Price:</label>
                        <input type="text" name="book_price" class="form-control" required>
                    </div>
                    <button type="submit" name="add_book" class="btn btn-primary">Add Book</button>
                </form>
            </div>
            <div class="col-md-4"></div>
        </div>
</body>
</html>
  
<?php
    if(isset($_POST['add_book']))
    {
        $connection = mysqli_connect("localhost","root","");
        $db = mysqli_select_db($connection,"lms");
        $query = "insert into books values(null,'$_POST[book_name]','$_POST[book_author]','$_POST[book_category]',$_POST[book_no],$_POST[book_price])";
        $query_run = mysqli_query($connection,$query);
        #header("location:add_book.php");
    }
?>


manage_book.php




<?php
    require("functions.php");
    session_start();
    #fetch data from database
    $connection = mysqli_connect("localhost","root","");
    $db = mysqli_select_db($connection,"lms");
    $name = "";
    $email = "";
    $mobile = "";
    $query = "select * from admins where email = '$_SESSION[email]'";
    $query_run = mysqli_query($connection,$query);
    while ($row = mysqli_fetch_assoc($query_run)){
        $name = $row['name'];
        $email = $row['email'];
        $mobile = $row['mobile'];
    }
?>
<!DOCTYPE html>
<html>
<head>
    <title>Manage Book</title>
    <meta charset="utf-8" name="viewport" content="width=device-width,intial-scale=1">
    <link rel="stylesheet" type="text/css" href="../bootstrap-4.4.1/css/bootstrap.min.css">
      <script type="text/javascript" src="../bootstrap-4.4.1/js/juqery_latest.js"></script>
      <script type="text/javascript" src="../bootstrap-4.4.1/js/bootstrap.min.js"></script>
      <script type="text/javascript">
          function alertMsg(){
              alert(Book added successfully...);
              window.location.href = "admin_dashboard.php";
          }
      </script>
</head>
<body>
    <nav class="navbar navbar-expand-lg navbar-dark bg-dark">
        <div class="container-fluid">
            <div class="navbar-header">
                <a class="navbar-brand" href="admin_dashboard.php">Library Management System (LMS)</a>
            </div>
            <font style="color: white"><span><strong>Welcome: <?php echo $_SESSION['name'];?></strong></span></font>
            <font style="color: white"><span><strong>Email: <?php echo $_SESSION['email'];?></strong></font>
            <ul class="nav navbar-nav navbar-right">
              <li class="nav-item dropdown">
                <a class="nav-link dropdown-toggle" data-toggle="dropdown">My Profile </a>
                <div class="dropdown-menu">
                    <a class="dropdown-item" href="">View Profile</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="#">Edit Profile</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="change_password.php">Change Password</a>
                </div>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="../logout.php">Logout</a>
              </li>
            </ul>
        </div>
    </nav><br>
    <nav class="navbar navbar-expand-lg navbar-light" style="background-color: #e3f2fd">
        <div class="container-fluid">
              
            <ul class="nav navbar-nav navbar-center">
              <li class="nav-item">
                <a class="nav-link" href="admin_dashboard.php">Dashboard</a>
              </li>
              <li class="nav-item dropdown">
                <a class="nav-link dropdown-toggle" data-toggle="dropdown">Books </a>
                <div class="dropdown-menu">
                    <a class="dropdown-item" href="add_book.php">Add New Book</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="manage_book.php">Manage Books</a>
                </div>
              </li>
              <li class="nav-item dropdown">
                <a class="nav-link dropdown-toggle" data-toggle="dropdown">Category </a>
                <div class="dropdown-menu">
                    <a class="dropdown-item" href="add_cat.php">Add New Category</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="manage_cat.php">Manage Category</a>
                </div>
              </li>
              <li class="nav-item dropdown">
                <a class="nav-link dropdown-toggle" data-toggle="dropdown">Authors</a>
                <div class="dropdown-menu">
                    <a class="dropdown-item" href="add_author.php">Add New Author</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="manage_author.php">Manage Author</a>
                </div>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="issue_book.php">Issue Book</a>
              </li>
            </ul>
        </div>
    </nav><br>
    <center><h4>Manage Books</h4><br></center>
        <div class="row">
            <div class="col-md-2"></div>
            <div class="col-md-8">
                <table class="table table-bordered table-hover">
                    <thead>
                        <tr>
                            <th>Name</th>
                            <th>Author</th>
                            <th>Category</th>
                            <th>ISBN No.</th>
                            <th>Price</th>
                            <th>Action</th>
                        </tr>
                    </thead>
                    <?php
                        $connection = mysqli_connect("localhost","root","");
                        $db = mysqli_select_db($connection,"lms");
                        $query = "select * from books";
                        $query_run = mysqli_query($connection,$query);
                        while ($row = mysqli_fetch_assoc($query_run)){
                            ?>
                            <tr>
                                <td><?php echo $row['book_name'];?></td>
                                <td><?php echo $row['author_id'];?></td>
                                <td><?php echo $row['cat_id'];?></td>
                                <td><?php echo $row['book_no'];?></td>
                                <td><?php echo $row['book_price'];?></td>
                                <td><button class="btn" name=""><a href="edit_book.php?bn=<?php echo $row['book_no'];?>">Edit</a></button>
                                <button class="btn"><a href="delete_book.php?bn=<?php echo $row['book_no'];?>">Delete</a></button></td>
                            </tr>
                            <?php
                        }
                    ?>
                </table>
            </div>
            <div class="col-md-2"></div>
        </div>
</body>
</html>


edit_book.php




<?php
    session_start();
    #fetch data from database
    $connection = mysqli_connect("localhost","root","");
    $db = mysqli_select_db($connection,"lms");
    $book_name = "";
    $book_no = "";
    $author_id = "";
    $cat_id = "";
    $book_price = "";
    $query = "select * from books where book_no = $_GET[bn]";
    $query_run = mysqli_query($connection,$query);
    while ($row = mysqli_fetch_assoc($query_run)){
        $book_name = $row['book_name'];
        $book_no = $row['book_no'];
        $author_id = $row['author_id'];
        $cat_id = $row['cat_id'];
        $book_price = $row['book_price'];
    }
?>
<!DOCTYPE html>
<html>
<head>
    <title>Dashboard</title>
    <meta charset="utf-8" name="viewport" content="width=device-width,intial-scale=1">
    <link rel="stylesheet" type="text/css" href="../bootstrap-4.4.1/css/bootstrap.min.css">
      <script type="text/javascript" src="../bootstrap-4.4.1/js/juqery_latest.js"></script>
      <script type="text/javascript" src="../bootstrap-4.4.1/js/bootstrap.min.js"></script>
</head>
<body>
    <nav class="navbar navbar-expand-lg navbar-dark bg-dark">
        <div class="container-fluid">
            <div class="navbar-header">
                <a class="navbar-brand" href="admin_dashboard.php">Library Management System (LMS)</a>
            </div>
            <font style="color: white"><span><strong>Welcome: <?php echo $_SESSION['name'];?></strong></span></font>
            <font style="color: white"><span><strong>Email: <?php echo $_SESSION['email'];?></strong></font>
            <ul class="nav navbar-nav navbar-right">
              <li class="nav-item dropdown">
                <a class="nav-link dropdown-toggle" data-toggle="dropdown">My Profile </a>
                <div class="dropdown-menu">
                    <a class="dropdown-item" href="">View Profile</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="#">Edit Profile</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="change_password.php">Change Password</a>
                </div>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="../logout.php">Logout</a>
              </li>
            </ul>
        </div>
    </nav><br>
    <center><h4>Edit Book</h4><br></center>
        <div class="row">
            <div class="col-md-4"></div>
            <div class="col-md-4">
                <form action="" method="post">
                    <div class="form-group">
                        <label for="mobile">Book Number:</label>
                        <input type="text" name="book_no" value="<?php echo $book_no;?>" class="form-control" disabled required>
                    </div>
                    <div class="form-group">
                        <label for="email">Book Name:</label>
                        <input type="text" name="book_name" value="<?php echo $book_name;?>" class="form-control" required>
                    </div>
                    <div class="form-group">
                        <label for="mobile">Author ID:</label>
                        <input type="text" name="author_id" value="<?php echo $author_id;?>" class="form-control" required>
                    </div>
                    <div class="form-group">
                        <label for="mobile">Category ID:</label>
                        <input type="text" name="cat_id" value="<?php echo $cat_id;?>" class="form-control" required>
                    </div>
                    <div class="form-group">
                        <label for="mobile">Book Price:</label>
                        <input type="text" name="book_price" value="<?php echo $book_price;?>" class="form-control" required>
                    </div>
                    <button type="submit" name="update" class="btn btn-primary">Update Book</button>
                </form>
            </div>
            <div class="col-md-4"></div>
        </div>
</body>
</html>
<?php
    if(isset($_POST['update'])){
        $connection = mysqli_connect("localhost","root","");
        $db = mysqli_select_db($connection,"lms");
        $query = "update books set book_name = '$_POST[book_name]',author_id = $_POST[author_id],cat_id = $_POST[cat_id],book_price = $_POST[book_price] where book_no = $_GET[bn]";
        $query_run = mysqli_query($connection,$query);
        header("location:manage_book.php");
    }
?>


registered_book.php




<?php
    $connection = mysqli_connect("localhost","root","");
    $db = mysqli_select_db($connection,"lms");
    $book_count = 0;
    $query = "select count(*) as book_count from books";
    $query_run = mysqli_query($connection,$query);
    while ($row = mysqli_fetch_assoc($query_run)){
        $book_count = $row['book_count'];
    }
?>


Regbooks.php




<?php
    session_start();
    #fetch data from database
    $connection = mysqli_connect("localhost","root","");
    $db = mysqli_select_db($connection,"lms");
    $book_name = "";
    $author = "";
    $category = "";
    $book_no = "";
    $price = "";
    $query = "select books.book_name,books.book_no,book_price,authors.author_name from books left join authors on books.author_id = authors.author_id";
?>
<!DOCTYPE html>
<html>
<head>
    <title>All Reg Books</title>
    <meta charset="utf-8" name="viewport" content="width=device-width,intial-scale=1">
    <link rel="stylesheet" type="text/css" href="../bootstrap-4.4.1/css/bootstrap.min.css">
      <script type="text/javascript" src="../bootstrap-4.4.1/js/juqery_latest.js"></script>
      <script type="text/javascript" src="../bootstrap-4.4.1/js/bootstrap.min.js"></script>
</head>
<body>
    <nav class="navbar navbar-expand-lg navbar-dark bg-dark">
        <div class="container-fluid">
            <div class="navbar-header">
                <a class="navbar-brand" href="admin_dashboard.php">Library Management System (LMS)</a>
            </div>
            <font style="color: white"><span><strong>Welcome: <?php echo $_SESSION['name'];?></strong></span></font>
            <font style="color: white"><span><strong>Email: <?php echo $_SESSION['email'];?></strong></font>
            <ul class="nav navbar-nav navbar-right">
              <li class="nav-item dropdown">
                <a class="nav-link dropdown-toggle" data-toggle="dropdown">My Profile </a>
                <div class="dropdown-menu">
                    <a class="dropdown-item" href="#">View Profile</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="#">Edit Profile</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="change_password.php">Change Password</a>
                </div>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="../logout.php">Logout</a>
              </li>
            </ul>
        </div>
    </nav><br>
              <center><h4>Registered Book's Detail</h4><br></center>
        <div class="row">
            <div class="col-md-2"></div>
            <div class="col-md-8">
                <form>
                    <table class="table-bordered" width="900px" style="text-align: center">
                        <tr>
                            <th>Name</th>
                            <th>Author</th>
                            <th>Price</th>
                            <th>Number</th>
                        </tr>
                  
                    <?php
                        $query_run = mysqli_query($connection,$query);
                        while ($row = mysqli_fetch_assoc($query_run)){
                            ?>
                            <tr>
                            <td><?php echo $row['book_name'];?></td>
                            <td><?php echo $row['author_name'];?></td>
                            <td><?php echo $row['book_price'];?></td>
                            <td><?php echo $row['book_no'];?></td>
                        </tr>
  
                    <?php
                        }
                    ?>    
                </table>
                </form>
            </div>
            <div class="col-md-2"></div>
        </div>
</body>
</html>


delete_book.php




<?php
    $connection = mysqli_connect("localhost","root","");
    $db = mysqli_select_db($connection,"lms");
    $query = "delete from books where book_no = $_GET[bn]";
    $query_run = mysqli_query($connection,$query);
?>
<script type="text/javascript">
    alert("Book Deleted successfully...");
    window.location.href = "manage_book.php";
</script>


Step 5: Creation of Add/Manage Book Category Module:

This is how Add/Manage Book Category will look like:

cat1

cat2

Features:

  • Admin can add a new book category using its details.
  • Admin can edit the existing book category.
  • All changes will be reflected on our SQL database.

Similarly we can add and manage the author details as well.

Code:

Below is the code for above mentioned details:

add_cat




<?php
    require("functions.php");
    session_start();
    #fetch data from database
    $connection = mysqli_connect("localhost","root","");
    $db = mysqli_select_db($connection,"lms");
    $name = "";
    $email = "";
    $mobile = "";
    $query = "select * from admins where email = '$_SESSION[email]'";
    $query_run = mysqli_query($connection,$query);
    while ($row = mysqli_fetch_assoc($query_run)){
        $name = $row['name'];
        $email = $row['email'];
        $mobile = $row['mobile'];
    }
?>
<!DOCTYPE html>
<html>
<head>
    <title>Add New Category</title>
    <meta charset="utf-8" name="viewport" content="width=device-width,intial-scale=1">
    <link rel="stylesheet" type="text/css" href="../bootstrap-4.4.1/css/bootstrap.min.css">
      <script type="text/javascript" src="../bootstrap-4.4.1/js/juqery_latest.js"></script>
      <script type="text/javascript" src="../bootstrap-4.4.1/js/bootstrap.min.js"></script>
      <script type="text/javascript">
          function alertMsg(){
              alert(Book added successfully...);
              window.location.href = "admin_dashboard.php";
          }
      </script>
</head>
<body>
    <nav class="navbar navbar-expand-lg navbar-dark bg-dark">
        <div class="container-fluid">
            <div class="navbar-header">
                <a class="navbar-brand" href="admin_dashboard.php">Library Management System (LMS)</a>
            </div>
            <font style="color: white"><span><strong>Welcome: <?php echo $_SESSION['name'];?></strong></span></font>
            <font style="color: white"><span><strong>Email: <?php echo $_SESSION['email'];?></strong></font>
            <ul class="nav navbar-nav navbar-right">
              <li class="nav-item dropdown">
                <a class="nav-link dropdown-toggle" data-toggle="dropdown">My Profile </a>
                <div class="dropdown-menu">
                    <a class="dropdown-item" href="">View Profile</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="#">Edit Profile</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="change_password.php">Change Password</a>
                </div>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="../logout.php">Logout</a>
              </li>
            </ul>
        </div>
    </nav><br>
    <nav class="navbar navbar-expand-lg navbar-light" style="background-color: #e3f2fd">
        <div class="container-fluid">
              
            <ul class="nav navbar-nav navbar-center">
              <li class="nav-item">
                <a class="nav-link" href="admin_dashboard.php">Dashboard</a>
              </li>
              <li class="nav-item dropdown">
                <a class="nav-link dropdown-toggle" data-toggle="dropdown">Books </a>
                <div class="dropdown-menu">
                    <a class="dropdown-item" href="add_book.php">Add New Book</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="manage_book.php">Manage Books</a>
                </div>
              </li>
              <li class="nav-item dropdown">
                <a class="nav-link dropdown-toggle" data-toggle="dropdown">Category </a>
                <div class="dropdown-menu">
                    <a class="dropdown-item" href="add_cat.php">Add New Category</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="manage_cat.php">Manage Category</a>
                </div>
              </li>
              <li class="nav-item dropdown">
                <a class="nav-link dropdown-toggle" data-toggle="dropdown">Authors</a>
                <div class="dropdown-menu">
                    <a class="dropdown-item" href="add_author.php">Add New Author</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="manage_author.php">Manage Author</a>
                </div>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="issue_book.php">Issue Book</a>
              </li>
            </ul>
        </div>
    </nav><br>
    <center><h4>Add a new Category</h4><br></center>
        <div class="row">
            <div class="col-md-4"></div>
            <div class="col-md-4">
                <form action="" method="post">
                    <div class="form-group">
                        <label for="name">Category Name:</label>
                        <input type="text" class="form-control" name="cat_name" required>
                    </div>
                    <button type="submit" name="add_cat" class="btn btn-primary">Add Catogry</button>
                </form>
            </div>
            <div class="col-md-4"></div>
        </div>
</body>
</html>
  
<?php
    if(isset($_POST['add_cat']))
    {
        $connection = mysqli_connect("localhost","root","");
        $db = mysqli_select_db($connection,"lms");
        $query = "insert into category values('','$_POST[cat_name]')";
        $query_run = mysqli_query($connection,$query);
        header("Location:admin_dashboard.php");
    }
?>


delete_cat.php




<?php
    $connection = mysqli_connect("localhost","root","");
    $db = mysqli_select_db($connection,"lms");
    $query = "delete from category where cat_id = $_GET[cid]";
    $query_run = mysqli_query($connection,$query);
?>
<script type="text/javascript">
    alert("Category Deleted successfully...");
    window.location.href = "manage_cat.php";
</script>


edit_cat.php




<?php
    session_start();
    #fetch data from database
    $connection = mysqli_connect("localhost","root","");
    $db = mysqli_select_db($connection,"lms");
    $cat_id = "";
    $cat_name = "";
    $query = "select * from category where cat_id = $_GET[cid]";
    $query_run = mysqli_query($connection,$query);
    while ($row = mysqli_fetch_assoc($query_run)){
        $cat_name = $row['cat_name'];
        $cat_id = $row['cat_id'];
    }
?>
<!DOCTYPE html>
<html>
<head>
    <title>Dashboard</title>
    <meta charset="utf-8" name="viewport" content="width=device-width,intial-scale=1">
    <link rel="stylesheet" type="text/css" href="../bootstrap-4.4.1/css/bootstrap.min.css">
      <script type="text/javascript" src="../bootstrap-4.4.1/js/juqery_latest.js"></script>
      <script type="text/javascript" src="../bootstrap-4.4.1/js/bootstrap.min.js"></script>
</head>
<body>
    <nav class="navbar navbar-expand-lg navbar-dark bg-dark">
        <div class="container-fluid">
            <div class="navbar-header">
                <a class="navbar-brand" href="admin_dashboard.php">Library Management System (LMS)</a>
            </div>
            <font style="color: white"><span><strong>Welcome: <?php echo $_SESSION['name'];?></strong></span></font>
            <font style="color: white"><span><strong>Email: <?php echo $_SESSION['email'];?></strong></font>
            <ul class="nav navbar-nav navbar-right">
              <li class="nav-item dropdown">
                <a class="nav-link dropdown-toggle" data-toggle="dropdown">My Profile </a>
                <div class="dropdown-menu">
                    <a class="dropdown-item" href="">View Profile</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="#">Edit Profile</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="change_password.php">Change Password</a>
                </div>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="../logout.php">Logout</a>
              </li>
            </ul>
        </div>
    </nav><br>
    <span><marquee>This is library mangement system. Library opens at 8:00 AM and close at 8:00 PM</marquee></span><br><br>
        <center><h4>Edit Book</h4><br></center>
        <div class="row">
            <div class="col-md-4"></div>
            <div class="col-md-4">
                <form action="" method="post">
                    <div class="form-group">
                        <label for="name">Category Name:</label>
                        <input type="text" class="form-control" name="cat_name" value="<?php echo $cat_name; ?>" required>
                    </div>
                    <button type="submit" name="update_cat" class="btn btn-primary">Update Catogry</button>
                </form>
            </div>
            <div class="col-md-4"></div>
        </div>
</body>
</html>
<?php
    if(isset($_POST['update_cat'])){
        $connection = mysqli_connect("localhost","root","");
        $db = mysqli_select_db($connection,"lms");
        $query = "update category set cat_name = '$_POST[cat_name]' where cat_id = $_GET[cid]";
        $query_run = mysqli_query($connection,$query);
        header("location:manage_cat.php");
    }
?>


manage_cat.php




<?php
    require("functions.php");
    session_start();
    #fetch data from database
    $connection = mysqli_connect("localhost","root","");
    $db = mysqli_select_db($connection,"lms");
    $name = "";
    $email = "";
    $mobile = "";
    $query = "select * from admins where email = '$_SESSION[email]'";
    $query_run = mysqli_query($connection,$query);
    while ($row = mysqli_fetch_assoc($query_run)){
        $name = $row['name'];
        $email = $row['email'];
        $mobile = $row['mobile'];
    }
?>
<!DOCTYPE html>
<html>
<head>
    <title>Manage Category</title>
    <meta charset="utf-8" name="viewport" content="width=device-width,intial-scale=1">
    <link rel="stylesheet" type="text/css" href="../bootstrap-4.4.1/css/bootstrap.min.css">
      <script type="text/javascript" src="../bootstrap-4.4.1/js/juqery_latest.js"></script>
      <script type="text/javascript" src="../bootstrap-4.4.1/js/bootstrap.min.js"></script>
</head>
<body>
    <nav class="navbar navbar-expand-lg navbar-dark bg-dark">
        <div class="container-fluid">
            <div class="navbar-header">
                <a class="navbar-brand" href="admin_dashboard.php">Library Management System (LMS)</a>
            </div>
            <font style="color: white"><span><strong>Welcome: <?php echo $_SESSION['name'];?></strong></span></font>
            <font style="color: white"><span><strong>Email: <?php echo $_SESSION['email'];?></strong></font>
            <ul class="nav navbar-nav navbar-right">
              <li class="nav-item dropdown">
                <a class="nav-link dropdown-toggle" data-toggle="dropdown">My Profile </a>
                <div class="dropdown-menu">
                    <a class="dropdown-item" href="">View Profile</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="#">Edit Profile</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="change_password.php">Change Password</a>
                </div>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="../logout.php">Logout</a>
              </li>
            </ul>
        </div>
    </nav><br>
    <nav class="navbar navbar-expand-lg navbar-light" style="background-color: #e3f2fd">
        <div class="container-fluid">
              
            <ul class="nav navbar-nav navbar-center">
              <li class="nav-item">
                <a class="nav-link" href="admin_dashboard.php">Dashboard</a>
              </li>
              <li class="nav-item dropdown">
                <a class="nav-link dropdown-toggle" data-toggle="dropdown">Books </a>
                <div class="dropdown-menu">
                    <a class="dropdown-item" href="add_book.php">Add New Book</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="manage_book.php">Manage Books</a>
                </div>
              </li>
              <li class="nav-item dropdown">
                <a class="nav-link dropdown-toggle" data-toggle="dropdown">Category </a>
                <div class="dropdown-menu">
                    <a class="dropdown-item" href="add_cat.php">Add New Category</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="manage_cat.php">Manage Category</a>
                </div>
              </li>
              <li class="nav-item dropdown">
                <a class="nav-link dropdown-toggle" data-toggle="dropdown">Authors</a>
                <div class="dropdown-menu">
                    <a class="dropdown-item" href="add_author.php">Add New Author</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="manage_author.php">Manage Author</a>
                </div>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="issue_book.php">Issue Book</a>
              </li>
            </ul>
        </div>
    </nav><br>
    <center><h4>Manage Category</h4><br></center>
        <div class="row">
            <div class="col-md-2"></div>
            <div class="col-md-8">
                <table class="table table-bordered table-hover">
                    <thead>
                        <tr>
                            <th>Name</th>
                            <th>Action</th>
                        </tr>
                    </thead>
                    <?php
                        $connection = mysqli_connect("localhost","root","");
                        $db = mysqli_select_db($connection,"lms");
                        $query = "select * from category";
                        $query_run = mysqli_query($connection,$query);
                        while ($row = mysqli_fetch_assoc($query_run)){
                            ?>
                            <tr>
                                <td><?php echo $row['cat_name'];?></td>
                                <td><button class="btn"><a href="edit_cat.php?cid=<?php echo $row['cat_id'];?>">Edit</a></button>
                                <button class="btn"><a href="delete_cat.php?cid=<?php echo $row['cat_id'];?>">Delete</a></button></td>
                            </tr>
                            <?php
                        }
                    ?>
                </table>
            </div>
            <div class="col-md-2"></div>
        </div>
</body>
</html>


Regcat.php




<?php
    session_start();
    #fetch data from database
    $connection = mysqli_connect("localhost","root","");
    $db = mysqli_select_db($connection,"lms");
    $query = "select * from category";
    $cat_name = "";
?>
<!DOCTYPE html>
<html>
<head>
    <title>Book's Category</title>
    <meta charset="utf-8" name="viewport" content="width=device-width,intial-scale=1">
    <link rel="stylesheet" type="text/css" href="../bootstrap-4.4.1/css/bootstrap.min.css">
      <script type="text/javascript" src="../bootstrap-4.4.1/js/juqery_latest.js"></script>
      <script type="text/javascript" src="../bootstrap-4.4.1/js/bootstrap.min.js"></script>
</head>
<body>
    <nav class="navbar navbar-expand-lg navbar-dark bg-dark">
        <div class="container-fluid">
            <div class="navbar-header">
                <a class="navbar-brand" href="admin_dashboard.php">Library Management System (LMS)</a>
            </div>
            <font style="color: white"><span><strong>Welcome: <?php echo $_SESSION['name'];?></strong></span></font>
            <font style="color: white"><span><strong>Email: <?php echo $_SESSION['email'];?></strong></font>
            <ul class="nav navbar-nav navbar-right">
              <li class="nav-item dropdown">
                <a class="nav-link dropdown-toggle" data-toggle="dropdown">My Profile </a>
                <div class="dropdown-menu">
                    <a class="dropdown-item" href="#">View Profile</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="#">Edit Profile</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="change_password.php">Change Password</a>
                </div>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="../logout.php">Logout</a>
              </li>
            </ul>
        </div>
    </nav><br>
    <span><marquee>This is library mangement system. Library opens at 8:00 AM and close at 8:00 PM</marquee></span><br><br>
        <center><h4>Registered Book's Category</h4><br></center>
        <div class="row">
            <div class="col-md-2"></div>
            <div class="col-md-8">
                <form>
                    <table class="table-bordered" width="900px" style="text-align: center">
                        <tr>
                            <th>Category Name</th>
                        </tr>
                  
                    <?php
                        $query_run = mysqli_query($connection,$query);
                        while ($row = mysqli_fetch_assoc($query_run)){
                            ?>
                            <tr>
                            <td><?php echo $row['cat_name'];?></td>
                        </tr>
  
                    <?php
                        }
                    ?>    
                </table>
                </form>
            </div>
            <div class="col-md-2"></div>
        </div>
</body>
</html>


Step 6: Creation of Issue Book Module:

This is how Issue Book Page will look like:

IB

Features:

  • Admin can use this feature to Issue any book from library to the user.
  • Database will store the student id and book details for security.

Code:

Below is the code for the above mentioned page:

issue_book.php




<?php
    session_start();
?>
<!DOCTYPE html>
<html>
<head>
    <title>Issue Book</title>
    <meta charset="utf-8" name="viewport" content="width=device-width,intial-scale=1">
    <link rel="stylesheet" type="text/css" href="../bootstrap-4.4.1/css/bootstrap.min.css">
      <script type="text/javascript" src="../bootstrap-4.4.1/js/juqery_latest.js"></script>
      <script type="text/javascript" src="../bootstrap-4.4.1/js/bootstrap.min.js"></script>
      <script type="text/javascript">
          function alertMsg(){
              alert(Book added successfully...);
              window.location.href = "admin_dashboard.php";
          }
      </script>
</head>
<body>
    <nav class="navbar navbar-expand-lg navbar-dark bg-dark">
        <div class="container-fluid">
            <div class="navbar-header">
                <a class="navbar-brand" href="admin_dashboard.php">Library Management System (LMS)</a>
            </div>
            <font style="color: white"><span><strong>Welcome: <?php echo $_SESSION['name'];?></strong></span></font>
            <font style="color: white"><span><strong>Email: <?php echo $_SESSION['email'];?></strong></font>
            <ul class="nav navbar-nav navbar-right">
              <li class="nav-item dropdown">
                <a class="nav-link dropdown-toggle" data-toggle="dropdown">My Profile </a>
                <div class="dropdown-menu">
                    <a class="dropdown-item" href="">View Profile</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="#">Edit Profile</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="change_password.php">Change Password</a>
                </div>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="../logout.php">Logout</a>
              </li>
            </ul>
        </div>
    </nav><br>
    <nav class="navbar navbar-expand-lg navbar-light" style="background-color: #e3f2fd">
        <div class="container-fluid">
              
            <ul class="nav navbar-nav navbar-center">
              <li class="nav-item">
                <a class="nav-link" href="admin_dashboard.php">Dashboard</a>
              </li>
              <li class="nav-item dropdown">
                <a class="nav-link dropdown-toggle" data-toggle="dropdown">Books </a>
                <div class="dropdown-menu">
                    <a class="dropdown-item" href="add_book.php">Add New Book</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="manage_book.php">Manage Books</a>
                </div>
              </li>
              <li class="nav-item dropdown">
                <a class="nav-link dropdown-toggle" data-toggle="dropdown">Category </a>
                <div class="dropdown-menu">
                    <a class="dropdown-item" href="add_cat.php">Add New Category</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="manage_cat.php">Manage Category</a>
                </div>
              </li>
              <li class="nav-item dropdown">
                <a class="nav-link dropdown-toggle" data-toggle="dropdown">Authors</a>
                <div class="dropdown-menu">
                    <a class="dropdown-item" href="add_author.php">Add New Author</a>
                    <div class="dropdown-divider"></div>
                    <a class="dropdown-item" href="manage_author.php">Manage Author</a>
                </div>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="issue_book.php">Issue Book</a>
              </li>
            </ul>
        </div>
    </nav><br>
    <center><h4>Issue Book</h4><br></center>
        <div class="row">
            <div class="col-md-4"></div>
            <div class="col-md-4">
                <form action="" method="post">
                    <div class="form-group">
                        <label for="book_name">Book Name:</label>
                        <input type="text" name="book_name" class="form-control" required>
                    </div>
                    <div class="form-group">
                        <label for="book_author">Author ID:</label>
                        <select class="form-control" name="book_author">
                            <option>-Select author-</option>
                            <?php  
                                $connection = mysqli_connect("localhost","root","");
                                $db = mysqli_select_db($connection,"lms");
                                $query = "select author_name from authors";
                                $query_run = mysqli_query($connection,$query);
                                while($row = mysqli_fetch_assoc($query_run)){
                                    ?>
                                    <option><?php echo $row['author_name'];?></option>
                                    <?php
                                }
                            ?>
                        </select>
                        <!--<input type="text" name="book_author" class="form-control" required> -->
                    </div>
                    <div class="form-group">
                        <label for="book_no">Book Number:</label>
                        <input type="text" name="book_no" class="form-control" required>
                    </div>
                    <div class="form-group">
                        <label for="student_id">Student ID:</label>
                        <input type="text" name="student_id" class="form-control" required>
                    </div>
                    <div class="form-group">
                        <label for="issue_date">Issue Date:</label>
                        <input type="text" name="issue_date" class="form-control" value="<?php echo date("yy-m-d");?>" required>
                    </div>
                    <button type="submit" name="issue_book" class="btn btn-primary">Issue Book</button>
                </form>
            </div>
            <div class="col-md-4"></div>
        </div>
</body>
</html>
  
<?php
    if(isset($_POST['issue_book']))
    {
        $connection = mysqli_connect("localhost","root","");
        $db = mysqli_select_db($connection,"lms");
        $query = "insert into issued_books values(null,$_POST[book_no],'$_POST[book_name]','$_POST[book_author]',$_POST[student_id],1,'$_POST[issue_date]')";
        $query_run = mysqli_query($connection,$query);
        #header("Location:admin_dashboard.php");
    }
?>


These are the basic modules we require to make our LMS Project , you can add some more exiting features using your own new idea as well.

Coding phase is the most important and time consuming phase after this phase we will be having a source code for our project and it will be through for testing phase.

Step 6- Testing Library Mangement System

Testing is a crucial phase in the development of a library management system (LMS) to ensure that it meets its intended requirements, functions correctly, and is free of bugs. Below are some key steps and considerations for the testing phase of a library management system:

  1. Unit Testing:
    • Test individual modules or components of the system in isolation to ensure they function as intended.
    • Identify and fix any bugs or issues found at the module level.
  2. Integration Testing:
    • Verify that different modules and components of the LMS work together seamlessly.
    • Test data flow and interactions between various parts of the system.
  3. Functional Testing:
    • Validate that the LMS performs its intended functions accurately and efficiently.
    • Test basic functionalities such as adding, updating, and deleting books, managing user accounts, and generating reports.
  4. User Interface (UI) Testing:
    • Ensure that the user interface is user-friendly, intuitive, and visually appealing.
    • Check for consistency in design elements and responsiveness across different devices.
  5. Performance Testing:
    • Assess the system’s performance under normal and peak load conditions.
    • Check response times, scalability, and overall system stability.
  6. Security Testing:
    • Identify and rectify any security vulnerabilities in the system.
    • Ensure that user data is handled securely, and unauthorized access is prevented.
  7. Usability Testing:
    • Evaluate the LMS from an end-user perspective to ensure ease of use.
    • Gather feedback on user interfaces, navigation, and overall user experience.
  8. Compatibility Testing:
    • Test the LMS on various browsers, operating systems, and devices to ensure cross-platform compatibility.
  9. Regression Testing:
    • Conduct tests to ensure that new changes or fixes do not negatively impact existing functionalities.
    • Re-run previously executed test cases to verify the overall system stability.
  10. Deployment Testing:
    • Conduct tests in the production environment to ensure a smooth transition from the testing phase to live operation.

Step 7- Creating Project Presentation on Library Management System:

In this phase of software development, Team will have to present their work in front of authorities and they will judge your work and give suggestions on the improvement areas.

The ideal length of the ppt should be min 10 slides and maximum 15 slides , you will not have too much time to explain your project so prepare your presentation carefully using important key points.

stage-7

Project Presentation Phase of Library Management System

Some of the key points (slides) which your presentation should have are given below:

  1. Project Name and Team Details
  2. Introduction
  3. Purpose
  4. Project Scope
  5. Problem Statement
  6. Proposed Solution
  7. Product Functionalities
  8. Flow chart of the project
  9. Analysis of model
  10. Summary

Let’s create a sample PowerPoint presentation for Library Managment System Project:

Step 8- Writing a Research Paper on Library Management System:

You can also write a research paper on the basis of your work . The Research paper will explore the significance of implementing an Integrated Library Management System (LMS) to enhance the efficiency, accessibility, and overall functionality of libraries.

stage-8

Research Paper Development of Library Management System

Key points for this paper includes:

  • Abstract
  • Introduction
  • Related Work
  • Methodologies Used
  • Features
  • Result and Discussion
  • Acknowledgement

Future Enhancements for Library Management System

  • Integration with RFID or barcoding for efficient book tracking.
  • Notification system for overdue books and fines.
  • Online reservation of books.
  • Integration with external databases for expanded book catalogue.



Like Article
Suggest improvement
Next
Share your thoughts in the comments

Similar Reads