You are on page 1of 104

AN

PROJECT REPORT
ON
TEACHERS RECORD MANAGEMENT SYSTEM
PROJECT
BY
KAMAL ACHARYA
(Tribhuvan University)

Date: 2023/12/10

1
CHAPTER 1
INTRODUCTION
1.1 About the Organization
The Teachers Record Management System is a comprehensive solution
designed to simplify the process of managing teacher records. In today's fast-paced world, it is
imperative for schools and individuals to have access to accurate and up-to-date information
about teachers. This system addresses the needs of both individuals and schools, offering an
efficient and effective way to manage teacher records.

This web-based technology was developed with the aim of providing an easy-to-use platform
that allows users to search and manage teacher records with ease. The system is designed to be
user-friendly, making it accessible to individuals with varying levels of computer literacy. The
interface is intuitive and easy to navigate, making it possible for users to quickly find the
information they need.
For individuals who are searching for good teachers, the Teachers Record Management System
offers a comprehensive database of teacher records that can be searched using various
parameters such as subject, qualification, experience, and location. This allows users to find
the best teachers that match their requirements in a matter of minutes. The system also offers
the ability to rate and review teachers, providing valuable feedback to other users who are
looking for good teachers.
For schools, the Teachers Record Management System offers a robust and secure platform for
managing teacher records. The system allows schools to maintain accurate and up-to-date
records of their teachers, including their personal information, academic qualifications, work
experience, and other relevant details. This makes it easy for schools to keep track of their
teachers and ensure that they have the right teachers for the job.
The system also offers a range of features that help schools manage their teachers more
efficiently. For example, the system allows schools to schedule classes and assign teachers to
specific classes based on their qualifications and experience. It also offers a range of reporting
and analytics tools that enable schools to track their teacher's performance and identify areas
where improvements can be made.

In conclusion, the Teachers Record Management System is a powerful tool that offers a range
of benefits to both individuals and schools. It provides an easy and efficient way to search and
manage teacher records, allowing users to find the best teachers that match their requirements.
The system is also designed to be user-friendly and offers a range of features that help schools
manage their teachers more efficiently. Overall, the Teachers Record Management System is
an essential tool for anyone who wants to find good teachers or manage their teacher records.

2
1.2 Overview of project

The Teachers Record Management System is a comprehensive web


application that has been developed to help manage teacher records efficiently. It is built using
PHP5.6/PHP7.x and MySQL 5.x database, which are widely recognized as the most popular
programming languages for web development and reliable database management.

The system is divided into two primary modules: the admin module and the user module. The
admin module is designed for administrators and is used to manage the system's different
aspects, including managing subjects, teachers, searching for teachers by name, generating
reports, and managing their profile and password. The admin module provides the system's
core functionality, and it is the primary control center of the system.

The user module is designed for teachers, and it is used to update their profile and password,
view queries, and log out. The user module is designed to be simple and easy to use, allowing
teachers to manage their profile and access relevant information without having to go through
the admin module.
The Teachers Record Management System is a comprehensive solution that streamlines the
process of managing teacher records. The system provides administrators with complete
control over the entire teacher record database, allowing them to manage subjects and teachers
effectively. The system also provides teachers with an easy way to update their profiles and
view queries related to their classes.

The admin module is divided into several sub-modules, each of which is responsible for
managing different aspects of the system. The subject management sub-module allows
administrators to manage the list of subjects that are taught in the school. The teacher
management sub-module allows administrators to manage the list of teachers and their profiles,
including their personal information, academic qualifications, work experience, and other
relevant details.
The search teacher sub-module allows administrators to search for teachers by name, subject,
experience, qualification, and location. The report sub-module allows administrators to
generate different types of reports based on different parameters, such as teacher performance,
subject-wise teacher allocation, and subject-wise student performance.

The system's user module is designed to be simple and user-friendly, allowing teachers to
update their profiles, view queries, and log out with ease. The user module includes a profile
management sub-module that allows teachers to update their personal information, academic
qualifications, and work experience. The query sub-module allows teachers to view queries
related to their classes, ensuring that they stay up to date with their responsibilities.

In conclusion, the Teachers Record Management System is a powerful web application that
provides administrators and teachers with an easy and efficient way to manage teacher records.
The system's admin module offers complete control over the teacher record database, while the
user module provides teachers with an easy way to manage their profiles and view queries. The

3
Teachers Record Management System is an essential tool for any school looking to streamline
the process of managing teacher records.

1.3 Objective of project


The Teachers Record Management System has been developed with the following objectives
in mind:
1. To streamline the process of managing teacher records: One of the primary objectives
of this project is to provide a system that simplifies the management of teacher records.
The system offers a user-friendly interface that allows administrators and teachers to
manage their records efficiently. This objective is achieved by providing a centralized
database that stores all the necessary information related to teachers, including their
personal details, academic qualifications, work experience, and other relevant details.
2. To enhance transparency and accountability: Another essential objective of this project
is to enhance transparency and accountability in the management of teacher records.
The system provides administrators with complete control over the database, ensuring
that all records are accurate and up to date. This objective is achieved by implementing
robust security features that prevent unauthorized access to the system and the database.
3. To improve the quality of teaching: This project also aims to improve the quality of
teaching by providing administrators with the necessary information to evaluate teacher
performance. The system allows administrators to generate reports that provide insights
into the performance of teachers, subject-wise teacher allocation, and subject-wise
student performance. This objective is achieved by providing a system that is capable
of analyzing and presenting data in a meaningful way.
4. To provide a user-friendly interface: The project aims to provide a user-friendly
interface that is easy to navigate and use. This objective is achieved by designing a
system that is intuitive and easy to use, even for users who are not tech-savvy.
5. To ensure system reliability and security: This project aims to provide a reliable and
secure system that can be used to manage teacher records. The system's reliability is
achieved by implementing robust backup and recovery mechanisms, ensuring that data
is not lost in case of system failure. The system's security is achieved by implementing
various security features, including user authentication, access control, and data
encryption.
In conclusion, the Teachers Record Management System is a project that aims to simplify the
management of teacher records. The project's objectives include improving the quality of
teaching, enhancing transparency and accountability, providing a user-friendly interface, and
ensuring system reliability and security.

4
CHAPTER 2
SYSTEM ANALYSIS
2.1 Study of Existing System
The existing system for managing teacher records is usually manual and
paper-based, which makes it prone to errors and time-consuming. In this system, teachers are
required to submit their personal and academic details on paper, which are then stored in a file
or folder. The school administration then has to manually manage and maintain these records,
which can be a tedious and time-consuming process.

The manual system is also vulnerable to errors, as the records can be lost, misplaced, or
damaged over time. Additionally, there may be inconsistencies in the data, as it may be difficult
to update and maintain the records in real-time. Furthermore, this system lacks the necessary
features for effective data analysis and reporting, making it challenging to evaluate teacher
performance or identify areas that need improvement.
Overall, the manual system for managing teacher records is inefficient, time-consuming, and
prone to errors. It lacks the necessary features for effective data analysis and reporting, making
it challenging for school administrators to make data-driven decisions.
The Teachers Record Management System is designed to address these issues and provide a
more efficient and reliable way to manage teacher records. The system offers a centralized
database that stores all the necessary information related to teachers, including their personal
details, academic qualifications, work experience, and other relevant details. This database can
be easily accessed and updated in real-time, making it easy to maintain accurate records.

The system also offers features for effective data analysis and reporting, enabling
administrators to generate reports that provide insights into the performance of teachers,
subject-wise teacher allocation, and subject-wise student performance. This information can
help administrators identify areas that need improvement and make data-driven decisions.
Overall, the Teachers Record Management System offers a more efficient, reliable, and user-
friendly way to manage teacher records. By automating the process, the system reduces the
workload of school administrators, improves data accuracy, and enhances transparency and
accountability. The system is an essential tool for any school looking to streamline the process
of managing teacher records and improve the quality of teaching.

2.2 Study of Proposed System


The proposed Teachers Record Management System is a web-based application
that offers several benefits over the existing manual system. The system is designed to be user-
friendly and intuitive, with an easy-to-use interface that enables administrators and teachers to
manage teacher records efficiently.

5
One of the primary advantages of the proposed system is that it is web-based, which means
that it can be accessed from anywhere with an internet connection. This makes it easy for
administrators and teachers to access and manage their records, even if they are not physically
present in the school. This feature can be particularly helpful for schools with multiple
campuses or remote staff.

The system also provides a range of features for managing teacher records, including subject
management, teacher management, and query management. Administrators can easily add,
update, or delete subjects and teachers as needed, while also maintaining accurate records of
their qualifications, work experience, and other relevant details. The query management feature
allows administrators to quickly respond to any questions or concerns raised by teachers,
ensuring timely and efficient communication.

Another key feature of the proposed system is the search function, which allows administrators
to search for teachers by name. This feature makes it easy to find specific records quickly,
reducing the time and effort required to manage teacher records. The system also provides
reporting capabilities, enabling administrators to generate reports that provide insights into
teacher performance and subject-wise teacher allocation.
Overall, the proposed system offers several benefits over the existing manual system. It is user-
friendly, web-based, and provides a range of features for managing teacher records efficiently.
The search function and reporting capabilities make it easy to find and analyze data, helping
administrators make data-driven decisions. By automating the process of managing teacher
records, the system can help schools reduce errors, save time, and improve the quality of
teaching.

2.3 System Specifications


2.3.1 Hardware Specifications
 Intel i5 Processor
 512 MB Ram
 512 KB Cache Memory
 Hard disk 10 GB
 Microsoft Compatible 101 or more Key Board
2.3.2 Software Specification
 Operating System: Windows
 Web-Technology: PHP
 Front-End: HTML, AJAX, JQUERY AND JAVASCRIPT
 Back-End: MySQL
 Web Server: Apache SERVER.
The Teachers Record Management System is developed using PHP5.6/PHP7.x and MySQL
5.x database. The user interface is designed using HTML, AJAX, JQUERY, and
JAVASCRIPT.

6
2.4 Software Features
User interface: The way users interact with and navigate the software, including graphical
elements, buttons, menus, and forms.

Data management: The ability to store, retrieve, and manipulate data, often through a
database or file system.

Reporting and analytics: The ability to generate reports and visualizations based on data to
help users understand and analyze information

.
Task management: A system for managing and tracking tasks and projects, including setting
deadlines and assigning tasks to individuals

.
Communication and collaboration: Tools that allow users to communicate and work
together, such as messaging and file sharing.

Mobile support: The ability to access and use the software on mobile devices, including
smartphones and tablets.

Customization and configuration: The ability to modify the software to fit specific needs,
such as changing the appearance or adding new functionality.

Security: Measures to protect sensitive data and prevent unauthorized access, such as
encryption, user authentication, and data backup.

Integration with other systems: The ability to connect and exchange data with other software
and services, such as third-party APIs.

User authentication and authorization: A system for logging in and verifying users, as well
as controlling what actions each user can take

7
2.4.1 Overview of Operating System
The system is compatible with any modern operating system, including Windows, Mac OS,
and Linux.

2.4.2 Overview Language Used


The system is developed using PHP5.6/PHP7.x and MySQL 5.x database. The user interface
is designed using HTML, AJAX, JQUERY, and JAVASCRIPT.

2.4.3 Introduction to PHP


The term PHP is an acronym for PHP: Hypertext Pre processor. PHP is a server-side
scripting language designed specifically for web development. It is open-source which means
it is free to download and use. It is very simple to learn and use. The files have the extension
“.PHP”. Rasmus Lerdorf inspired the first version of PHP and participated in the later versions.
It is an interpreted language and it does not require a compiler.
PHP code is usually processed on a web server by a PHP interpreter implemented as a module,
a daemon or a Common Gateway Interface(CGI) executable. On a web server, the result of the
interpreted and executed PHP code – which may be any type of data, such as generated HTML
or binary image data – would form the whole or part of an HTTP response.

PHP is an open-source server-side scripting language that many developers use for web
development. It is also a general-purpose language that you can use to make lots of projects,
including Graphical User Interfaces (GUIs).

The first version of PHP was launched 26 years ago. Now it's on version 8, released in
November 2020, but version 7 remains the most widely used.
PHP runs on the Zend engine, which is the most popular implementation. There are some other
implementations as well, like parrot, HPVM (Hip Hop Virtual Machine), and Hip Hop, created
by Facebook.
PHP is mostly used for making web servers. It runs on the browser and is also capable of
running in the command line. So, if you don't feel like showing your code output in the browser,
you can show it in the terminal.

Cross-Platform: PHP is platform-independent. You don't have to have a particular OS to use


it because it runs on every platform, whether it's Mac, Windows, or Linux.
Open Source: PHP is open source. The original code is made available to everyone who wants
to build upon it. This is one of the reasons why one of its frameworks, Laravel, is so popular.

Easy to learn: PHP is not hard to learn for absolute beginners. You can pick it up pretty if you
already have programming knowledge.
PHP syncs with all Databases: You can easily connect PHP to all Databases, relational and
non-relational. So it can connect in no time to MySQL, Postgress, MongoDB, or any other
database.

8
Supportive Community: PHP has a very supportive online community. The official
documentation provides guides on how to use the features and you can easily get your problem
fixed while stuck.
Nowadays, there's an intense debate on whether PHP is on the decline or not. This is because
of the advent and increasing popularity of other languages suited for the server-side such as
JavaScript (Node JS), Python, Golang, and others.

PHP can create, open, read, write, delete, and close files on the server. PHP can collect form
data. PHP can send and receive cookies. PHP can add, delete, modify data in your database.
PHP can be used to control user-access. PHP can encrypt data. With PHP you are not limited
to output HTML.

2.4.4 Intoduction to MySql


MySQL is an open-source relational database management system (RDBMS). Its name is a
combination of "My", the name of co-founder Michael Win Denius's daughter My, and "SQL",
the acronym for Structured Query Language. A relational database organizes data into one or
more data tables in which data may be related to each other; these relations help structure the
data. SQL is a language programmers use to create, modify and extract data from the relational
database, as well as control user access to the database. In addition to relational databases and
SQL, an RDBMS like MySQL works with an operating system to implement a relational
database in a computer's storage system, manages users, allows for network access and
facilitates testing database integrity and creation of backups.

MySQL is free and open source software under the terms of the GNU General Public License,
and is also available under a variety of proprietary licenses. MySQL was owned and sponsored
by the Swedish company MySQL AB, which was bought by Sun Microsystems (now Oracle
Corporation). In 2010, when Oracle acquired Sun, Widenius forked the open-source MySQL
project to create MariaDB.
MySQL has stand-alone clients that allow users to interact directly with a MySQL database
using SQL, but more often, MySQL is used with other programs to implement applications that
need relational database capability. MySQL is a component of the LAMP web application
software stack (and others), which is an acronym for Linux, Apache, MySQL,
Perl/PHP/Python. MySQL is used by many database-driven web applications, including
Drupal, Joomla, phpBB, and WordPress. MySQL is also used by many popular websites,
including Facebook, Flickr, MediaWiki, Twitter, and YouTube.

Overview
MySQL is a powerful and widely-used database management system that offers a range of
features and tools for storing, organizing, and managing data. Whether you are a web
developer, data analyst, or business owner, MySQL can provide a reliable and efficient solution
for your data storage needs.

9
MySQL is a popular open-source database management system.

• It is used for storing and organizing data.


• It is known for its fast performance, reliability, and ease of use.

• MySQL is based on the Structured Query Language (SQL).


• It can be used to create and modify databases, tables, and other database objects.

• It can be used to insert, query, and update data.


• MySQL can be used to manage users and privileges.

• It is flexible and can be used on a variety of platforms and with a range of programming
languages.
• MySQL offers optional add-ons and tools for backup, recovery, performance tuning, and
security.
• MySQL is a database system used for developing web-based software applications.
• MySQL is used for both small and large applications.
• MySQL is a relational database management system (RDBMS).

• MySQL is presently developed, distributed, and supported by Oracle Corporation.


• MySQL is written in the C programming language.

Main features of MySQL include:


• MySQL server design is multi-layered with independent modules.
• MySQL is fully multithreaded by using kernel threads. It can handle multiple CPUs if they
are available.

• MySQL provides transactional and non-transactional storage engines.


• MySQL has a high-speed thread-based memory allocation system.

• MySQL supports in-memory heap table.


• MySQL can handle large databases.

• MySQL Server works in client/server or embedded systems.

2.5 Cost Estimation and Development Process


The cost of developing the Teachers Record Management System depends on various factors
such as the development team size, the project complexity, and the time required to develop
the system. The development process involves various stages such as requirement analysis,
design, development, testing, and implementation.

10
CHAPTER 03

System design & development process


System design is the process of defining elements of a system like modules, architecture,
components and their interfaces and data for a system based on the specified requirements.
And it is the process of defining, developing systems which satisfies the specific needs and
requirements of a business or organization.

A systematic approach is required for a coherent all related variables of the system. A
designer uses the modelling languages to express to information and knowledge in a structure
of system that is defined by a consistent set of rules and definitions. The design can be
defined as graphical or textual modelling languages.

Output design generally refers to the results and information that are generated by the system
for many end-users; output is the main reason for developing the system and the basis on
which they evaluate the usefulness of the application.

The code design should be such that with less amount of coding we can achieve more results.
The speed of the system will be more if the coding is less. Whether the data in the system is
usable and readable by the system is depending on the coding. In this project, the coding is
being done such that proper validations are made to get the perfect input. No error inputs are
accepted. In addition, care is taken such that the data integrity and referential integrity is not
violated in the database. In addition, coding is designed such that concurrency avoidance of
accessing the database, limited user access to the table is made perfect

11
Software development process
A software development process is the process of dividing software development work into
smaller, parallel or sequential steps or sub processes to improve design and product
management. It is also known as a software development life cycle (SDLC). SDLC is a
process followed for a software project, within a software organization. It consists of a
detailed plan describing how to develop, maintain, replace and alter or enhance specific
software. The life cycle defines a methodology for improving the quality of software and the
overall development process. The following figure is a graphical representation of the various
stages of a typical SDLC

A typical Software Development Life Cycle consists of the following stages –


Stage1: Planning and Requirement Analysis
Requirement analysis is the most important and fundamental stage in SDLC. It is performed
by the senior members of the team with inputs from the customer, the sales department,
market surveys and domain experts in the industry. This information is then used to plan the
basic project approach and to conduct product feasibility study in the economical, operational
and technical areas. Planning for the quality assurance requirements and identification of the
risks associated with the project is also done in the planning stage. The outcome of the
technical feasibility study is to define the various technical approaches that can be followed
to implement the project successfully with minimum risks.

12
Stage 2: Defining Requirements
Once the requirement analysis is done the next step is to clearly define and document the
product requirements and get them approved from the customer or the market analysts. This
is done through an SRS (Software Requirement Specification) document which consists of
all the product requirements to be designed and developed during the project life cycle.
Stage 3: Designing the Product Architecture
SRS is the reference for product architects to come out with the best architecture for the
product to be developed. Based on the requirements specified in SRS, usually more than one
design approach for the product architecture is proposed and documented in a DDS – Design
Document Specification.
This DDS is reviewed by all the important stakeholders and based on various parameters as
risk assessment, product robustness, design modularity, budget and time constraints, the best
design approach is selected for the product.
A design approach clearly defines all the architectural modules of the product along with its
communication and data flow representation with the external and third-party modules (if
any). The internal design of all the modules of the proposed architecture should be clearly
defined with the minutest of the details in DDS.
Stage 4: Building or Developing the Product
In this stage of SDLC the actual development starts and the product is built. The
programming code is generated as per DDS during this stage. If the design is performed in a
detailed and organized manner, code generation can be accomplished without much hassle.
Developers must follow the coding guidelines defined by their organization and
programming tools like compilers, interpreters, debuggers, etc. are used to generate the code.
Different high level programming languages such as C, C++, Pascal, Java and PHP are used
for coding. The programming language is chosen with respect to the type of software being
developed.
Stage 5: Testing the Product
This stage is usually a subset of all the stages as in the modern SDLC models, the testing
activities are mostly involved in all the stages of SDLC. However, this stage refers to the
testing only stage of the product where product defects are reported, tracked, fixed and
retested, until the product reaches the quality standards defined in the SRS.
Stage 6: Deployment in the Market and Maintenance

Once the product is tested and ready to be deployed it is released formally in the appropriate
market. Sometimes product deployment happens in stages as per the business strategy of that
organization. The product may first be released in a limited segment and tested in the real
business environment (UAT- User acceptance testing)

13
3.1 Project Description:
The goal of this web application is to provide a platform for schools or
educational institutions to manage their teacher and subject information more efficiently. The
application is designed to have two different modules: Admin module and Teacher module.

Admin Module:
The Admin module is designed for the school administrators or staff who have access to
manage teacher and subject information. The features of this module are as follows:

Dashboard: This section provides an overview of the total number of subjects and teachers in
the school.
Subjects: In this section, the admin can manage the subjects by adding new subjects or
updating existing ones. The admin can view the list of subjects, edit the subject details, and
delete subjects if necessary.

Teachers: In this section, the admin can manage the teachers by adding new teachers or
updating existing ones. The admin can view the list of teachers, edit the teacher details, and
delete teachers if necessary.
Search: The admin can search for teachers by using their name. This feature will help the
admin to find teachers quickly.

Report: In this section, the admin can view the number of teachers added in particular periods.
The admin can use this feature to generate reports on teacher hiring trends.
Profile: In this section, the admin can update his/her profile. The admin can change the contact
details, such as email address and phone number.
Change Password: In this section, the admin can change his/her own passwords. The password
is encrypted using MD5 encryption method to ensure security.

Logout: This button is used to log out of the application.


Forgot Password: In case the admin forgets his/her password, this section allows the admin to
reset the password by using registered email id and contact number.

Teacher Module:
The Teacher module is designed for the teachers who are employed by the school. The features
of this module are as follows:
Dashboard: This section is the welcome page for a teacher. It provides an overview of the
teacher's class schedules and upcoming events.

14
Queries: In this section, the teacher can view the queries raised by the users. The teacher can
respond to the queries and mark them as resolved.
Profile: In this section, the teacher can update his/her profile. The teacher can change the
contact details and upload a profile picture.

Change Password: In this section, the teacher can change his/her own passwords. The
password is encrypted using MD5 encryption method to ensure security.
Logout: This button is used to log out of the application.
The web application is developed using HTML, CSS, JavaScript, and PHP. The application is
hosted on a web server, and the database is managed using MySQL. The application uses MD5
encryption method to ensure the security of passwords. The application is user-friendly and
easy to use. It helps the school to manage their teacher and subject information more efficiently

3.2 Program Specification


User Interface:
The system will have a web-based user interface that will be accessible through a web browser.
The user interface will consist of the following pages:
Login Page: This page will allow the user to log in to the system using their username and
password. If the user is not yet registered, they can register for an account by clicking the
"Register" button.

Register Page: This page will allow the user to create a new account by providing their name,
email address, username, and password.
Dashboard Page: This page will display a summary of the system's data, including the total
number of teachers and the total number of subjects.
Teachers Page: This page will allow the admin to add, update, or delete teacher records.
Subjects Page: This page will allow the admin to manage the subjects by adding or updating
the subject records.

Search Page: This page will allow the admin to search for a teacher by name.
Reports Page: This page will allow the admin to view reports, such as the number of teachers
added in a particular period.

Profile Page: This page will allow the admin to update their profile information.
Change Password Page: This page will allow the admin to change their password.
Logout Page: This page will allow the admin to log out of the system.

15
Database Schema:The system will use a MySQL database to store its data. The database
schema will consist of the following tables:
Users: This table will store information about the system's users, including their name, email
address, username, and password.

Teachers: This table will store information about the teachers, including their name, email
address, and password.
Subjects: This table will store information about the subjects, including their name and
description.
Functionality:

The system will provide the following functionality:


User Authentication: The system will authenticate users based on their username and
password.
Teacher Management: The system will allow the admin to add, update, or delete teacher
records.
Subject Management: The system will allow the admin to manage the subjects by adding or
updating the subject records.

Search Functionality: The system will allow the admin to search for a teacher by name.
Reports: The system will allow the admin to view reports, such as the number of teachers
added in a particular period.

Profile Management: The system will allow the admin to update their profile information.
Password Management: The system will allow the admin to change their password.
Technologies:

The system will be built using the following technologies:


PHP: The system will be written in PHP, a popular server-side scripting language.

MySQL: The system will use MySQL, a popular relational database management system, to
store its data.
HTML/CSS: The system's user interface will be built using HTML and CSS.
JavaScript: The system's user interface will include some JavaScript for interactivity.
Security: The system will use MD5 encryption to secure user passwords.

Overall, this teacher record management system will provide the admin with the ability to
manage teacher and subject records, search for teachers, view reports, and update their own
profile and password information. It will be built using PHP and MySQL, with a web-based
user interface accessible through a web browser

16
3.3 DFD NOTATION
Data Flow Diagrams represent one of the most ingenious tools used for structured
analysis. A Data Flow Diagram or DFD as it is shortly called is also known as a bubble
chart. It has the purpose of clarifying system requirements and identifying major
transformations that will become programs in System design. It is the major starting point
in the design phase that functionally decomposes the requirements specifications down to
the lowest level of detail.
A DFD consists of a series of bubbles joined by lines. The bubble represents data
transformation and lines represent data flow in the system. In the normal convention, a
DFD has four major symbols.

The DFD at the simplest level is referred to as the’ Zero Level DFD’ or in the simple
words a ‘Context Analysis Diagram’. These are expanded level by level each explaining
Its process in detail. Processes are numbered for easy identification and are
normally labelled in block letters. Each data flow is labelled for easy understanding.
Steps to Construct a DFD:-
Four steps are commonly used to construct a DFD :
 Process should be named and numbered for easy reference.
 Each name should be representative of the process.
 The direction of flow is from top to bottom and from left to right.
 When a process is exploded into lower level details they are numbered.
 The names of data stores, source and destination are written in capital.

17
LEVEL ZERO DFD DIAGRAM

18
LEVEL ONE DFD DIAGRAM

19
LEVEL TWO DFD DIAGRAM

20
3.4 Design Process
Data base design is defined as a collection of steps that help with designing, creating,
implementing and maintaining a business’s data management systems. The main purpose of
designing a database is to produce physical and logical models of designs for the proposed
database system. A good database design process is governed by specific rules. The first rule
dictates that redundant data must be avoided as its wastes space and increases the probability
of faults and discrepancies within the database. The next rule is that the accuracy and
comprehensiveness of information is extremely imperative. If the database contain erroneous
information any documents that fetch data from such a database will also include inaccurate
information.
CODE DESIGN A code design is a document that sets rules for the design. It is a tool that
can be used in the design and planning process, but goes further and is more regulatory than
other forms of guidance. It can be thought of as a process and document and therefore a
mechanism which operationalize design guidelines or standards which have been established
through a master plan process.
INPUT DESIGN Input design is the process of converting a user-oriented description of the
inputs toa computer-base business system into a programmer-oriented specification. In an
information system, input is the raw data is processed to produce output. During the input
design, the developers must consider the input devices such as PC, MICR, OMR, etc.
Therefore, the quality of system input determines the quality of system output. Well designed
input forms and have following properties:
• It should serve specific purpose effectively such as storing, recording and retrieving the
information.
• It ensures proper completion with accuracy.
• It should be easy to fill and straight forward.
• It should focus on user’s attention, consistency and simplicity.

3.4.1 Database Design:


The database design for the teacher record management system will include
three tables: Users, Teachers, and Subjects. The Users table will store information about the
system's users, including their name, email address, username, and password. The Teachers
table will store information about the teachers, including their name, email address, and
password. The Subjects table will store information about the subjects, including their name
and description.
The tables will be related as follows:
Each user can have multiple teacher records associated with them.
Each teacher can be associated with multiple subject records.

21
This relationship will be implemented using foreign keys in the Teachers and Subjects tables
that reference the primary key of the Users table.

3.4.2 Input Design:


The input design for the teacher record management system will include forms for adding and
updating teacher and subject records. The forms will include fields for the relevant
information, such as name, email address, password, subject name, and subject description.
The forms will be designed to validate user input and ensure that all required fields are filled
in before the data is submitted to the database.

In addition to the forms, the system will include a search box that allows the admin to search
for teachers by name. The search box will be designed to provide real-time search results as
the admin types in the teacher's name.

3.4.3 Output Design:


The output design for the teacher record management system will include several pages that
display data from the database in a clear and organized manner. The pages will include:

Dashboard: This page will display a summary of the system's data, including the total
number of teachers and the total number of subjects.
Teachers Page: This page will display a table of all the teacher records in the database,
including the teacher's name, email address, and subject(s) taught.
Subjects Page: This page will display a table of all the subject records in the database,
including the subject's name and description.
Reports Page: This page will display reports, such as the number of teachers added in a
particular period, in a clear and organized manner.
Profile Page: This page will display the admin's profile information, including their name,
email address, and username.
All of the pages will be designed to be user-friendly and easy to navigate, with clear headings
and labels for each section. The output design will also include styling to make the pages
visually appealing and easy to read.

22
CHAPTER 4
SYSTEM TESTING & IMPLEMENTATION
4.1 System Testing
System testing is the process of testing a complete and fully integrated software system
to ensure that it meets the specified requirements and functions as intended. It is conducted
after the software development process is complete, and before the system is deployed in a
production environment.

During system testing, the software is tested as a whole, including all the components and sub-
systems. The purpose of system testing is to identify any defects or issues that were not detected
during unit testing or integration testing.

The following are the key objectives of system testing:


1. To ensure that the software meets the specified requirements and functions as intended.
2. To identify and fix any defects or issues that were not detected during unit testing or
integration testing.
3. To ensure that the software is reliable, robust, and secure.
4. To validate that the software is user-friendly and easy to use.
5. To ensure that the software performs well under different load conditions.
6. To verify that the software is compatible with other systems and applications.
7. To ensure that the software is maintainable and scalable.

The process of system testing includes the following steps:

 Test planning: In this step, the test team develops the test plan, which includes the test
objectives, scope, test approach, test environment, and test schedule.

 Test case development: In this step, the test team develops the test cases based on the
requirements and design specifications.

 Test execution: In this step, the test team executes the test cases and reports any defects
or issues.

 Defect tracking and management: In this step, the test team tracks and manages the
defects reported during testing.

 Test reporting: In this step, the test team prepares the test reports, which include the test
results, defects identified, and recommendations.

23
4.2 System Implementation
Implementation is the process of deploying the software system in a production environment.
The following are the key steps involved in the implementation process:

 Deployment planning: In this step, the deployment team develops the deployment plan,
which includes the deployment strategy, deployment schedule, and contingency plan.

 Hardware and software setup: In this step, the deployment team sets up the hardware
and software environment required to run the software system.

 Data migration: In this step, the deployment team migrates the data from the old system
to the new system.

 User training: In this step, the deployment team provides training to the users on how
to use the new system.

 User acceptance testing: In this step, the users perform acceptance testing to ensure that
the system meets their requirements.

 System go-live: In this step, the system is deployed in the production environment and
made available to the users.

 the users to ensure that the system is functioning as expected.


Overall, the implementation process is a critical stage in the software development life cycle,
and it is essential to ensure that it is carefully planned and executed to ensure a successful
deployment

4.3 System Maintenance


The Teacher Record Management System (TRMS) is a web-based application that facilitates
the management of teachers' records in an educational institution. The system is built using
PHP as the backend programming language and MySQL as the database management
system.

 Maintenance Plan:
The maintenance plan for the TRMS website includes regular updates, backups, and
security checks. The following maintenance activities are planned for the website:

 Regular Updates:
The PHP and MySQL versions used in the TRMS website will be updated regularly to
ensure that the website is up-to-date with the latest security patches and bug fixes.

24
The updates will be performed by a professional developer and tested thoroughly
before deploying them on the live website.

 Backups:
Backups of the TRMS website and the MySQL database will be taken regularly to
ensure that data is not lost in case of any unforeseen events such as server crashes,
hacking attempts, or natural disasters. The backups will be stored on an external hard
drive that is physically disconnected from the server to prevent unauthorized access.

 Security Checks:
The security of the TRMS website will be regularly checked to ensure that it is not
vulnerable to hacking attempts. The security checks will include testing the website
for SQL injection, XSS, and CSRF attacks. Any vulnerabilities found will be fixed by
a professional developer immediately.

 Performance Optimization:
The performance of the TRMS website will be optimized to ensure that it loads
quickly and efficiently. This will include optimizing the MySQL database queries,
compressing images, and minifying CSS and JavaScript files.

 Bug Fixes:
Any bugs or issues reported by the users of the TRMS website will be fixed promptly
by a professional developer.

Conclusion:
The TRMS website is a critical component of the educational institution's operations,
and it is essential to keep it running smoothly. The maintenance plan outlined above will ensure
that the website is updated, secure, and performing optimally. Regular backups will also ensure
that data is not lost in case of any unforeseen events.

25
5. CONCLUSION & FUTURE ENHANCEMENT
In conclusion, the teacher record management system developed using PHP and
MySQL is a reliable and efficient tool for managing teacher records in an educational
institution. The system is easy to use and provides useful features such as the ability to add,
edit, and delete teacher records, generate reports, and search for specific records.

However, there is always room for improvement, and future enhancements can be made to
the system to make it even better. Some possible future enhancements include
1. Integration with other systems: The teacher record management system can be
integrated with other systems such as student record management systems, payroll
systems, and learning management systems. This integration can help to streamline
processes and reduce the workload of administrators.

2. Mobile optimization: With the increasing use of mobile devices, it is essential to make
the system mobile-friendly. This can be done by optimizing the system for smaller
screens and developing a mobile app for easy access.

3. Advanced reporting features: The system can be enhanced with advanced reporting
features such as data visualization, graphical representations, and custom reports. This
can help to provide insights into teacher performance and student progress.

4. Security enhancements: The system can be enhanced with additional security


measures such as two-factor authentication, encryption, and access controls. This can
help to prevent unauthorized access to sensitive data.

Overall, the teacher record management system is a valuable tool for managing teacher
records in an educational institution. With continuous improvement and future enhancements,
the system can become even more useful and effective.

26
6. BIBLOGRAPHY
The following books are referred in making this project:
1. Kevin Yank, Laura Thomson. "PHP and MySQL Web Development". Addison-Wesley
Professional, 5th Edition, 2016.
2. David Powers. "PHP Solutions: Dynamic Web Design Made Easy". Friends of ED, 3rd
Edition, 2014.
3. Robin Nixon. "Learning PHP, MySQL & JavaScript: With jQuery, CSS & HTML5".
O'Reilly Media, 4th Edition, 2018.
4. Luke Welling, Laura Thomson. "PHP and MySQL Web Development: A Beginner’s
Guide". Addison-Wesley Professional, 4th Edition, 2008.
5. Julie C. Meloni. "PHP Programming with MySQL". Sams Publishing, 2nd Edition,
2004.
6. Jason Lengstorf, Thomas Blom Hansen. "PHP & MySQL: Novice to Ninja". SitePoint,
6th Edition, 2018.
7. Larry Ullman. "PHP and MySQL for Dynamic Web Sites: Visual QuickPro Guide".
Peachpit Press, 5th Edition, 2017.
8. David Sklar, Adam Trachtenberg. "PHP Cookbook". O'Reilly Media, 3rd Edition,
2014.
9. Steve Suehring, Janet Valade. "PHP, MySQL, & JavaScript All-in-One For Dummies".
For Dummies, 2nd Edition, 2018.
10. Jon Duckett. "HTML and CSS: Design and Build Websites". John Wiley & Sons, 1st
Edition, 2011.

Online resources referred are:

1. W3Schools (https://www.w3schools.com/): a website that provides tutorials and


examples for web development languages such as HTML, CSS, JavaScript, and PHP.
2. PHP.net (https://www.php.net/): the official website for the PHP programming
language, which includes documentation and examples.
3. MySQL Documentation (https://dev.mysql.com/doc/): the official documentation for
the MySQL database management system.
4. jQuery Documentation (https://api.jquery.com/): the official documentation for the
jQuery JavaScript library, which simplifies HTML document traversal and
manipulation, event handling, and animation.
5. Stack Overflow (https://stackoverflow.com/): a question and answer community for
programming-related topics, which can be a valuable resource for troubleshooting and
problem-solving.
6. TutorialsPoint (https://www.tutorialspoint.com/): a website that provides tutorials and
examples for a wide range of programming languages and technologies, including PHP,
MySQL, and jQuery.

27
SAMPLE SCREEN:

HOME PAGE

LOGIN PAGE

28
SIGN – UP PAGE

LISTED TEACHERS

29
TEACHERS LIST

ABOUT US

30
Table Admin

Table Quiery

Table Subject

31
Table Teacher

32
SOURCE CODE

HOMEPAGE
ABOUT
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-
fit=no" />
<meta name="description" content="" />
<meta name="author" content="" />
<title>Modern Business - Start Bootstrap Template</title>
<!-- Favicon-->
<link rel="icon" type="image/x-icon" href="assets/favicon.ico" />
<!-- Bootstrap icons-->
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/bootstrap-icons.css"
rel="stylesheet" />
<!-- Core theme CSS (includes Bootstrap)-->
<link href="css/styles.css" rel="stylesheet" />
</head>
<body class="d-flex flex-column">
<main class="flex-shrink-0">
<!-- Navigation-->
<?php include_once('includes/header.php');?>
<!-- Header-->
<!-- About section one-->
<section class="py-5 bg-light" id="scroll-target">
<div class="container px-5 my-5">
<div class="row gx-5 align-items-center">

33
<div class="col-lg-6"><img class="img-fluid rounded mb-5 mb-lg-0"
src="images/about-us.jpg" alt="..." /></div>
<div class="col-lg-6">
<h2 class="fw-bolder">About Us</h2>
<p class="lead fw-normal text-muted mb-0">This is a project developed by
JITTINA & TARUN on Teachers Record Management System. The Teachers Record
Management System is a comprehensive solution designed to simplify the process of
managing teacher records. In today's fast-paced world, it is imperative for schools and
individuals to have access to accurate and up-to-date information about teachers. This system
addresses the needs of both individuals and schools, offering an efficient and effective way to
manage teacher records.</p>
</div>
</div>
</div>
</section>
</main>
<!-- Footer-->
<?php include_once('includes/footer.php');?>
<!-- Bootstrap core JS-->
<script
src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
<!-- Core theme JS-->
<script src="js/scripts.js"></script>
</body>
</html>

CONTACT
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-
fit=no" />
<meta name="description" content />

34
<meta name="author" content />
<title>Modern Business - Start Bootstrap Template</title>
<!-- Favicon-->
<link rel="icon" type="image/x-icon" href="assets/favicon.ico" />
<!-- Bootstrap icons-->
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/bootstrap-icons.css"
rel="stylesheet" />
<!-- Core theme CSS (includes Bootstrap)-->
<link href="css/styles.css" rel="stylesheet" />
</head>
<body class="d-flex flex-column">
<main class="flex-shrink-0">
<?php include_once('includes/header.php');?>
<!-- Page content-->
<section class="py-5">
<div class="container px-5">
<!-- Contact form-->
<div class="bg-light rounded-3 py-5 px-4 px-md-5 mb-5">
<div class="text-center mb-5">
<div class="feature bg-primary bg-gradient text-white rounded-3 mb-3"><i
class="bi bi-envelope"></i></div>
<h1 class="fw-bolder">Get in touch</h1>
<p class="lead fw-normal text-muted mb-0">We'd love to hear from
you</p>
</div>

<!-- Contact cards-->


<div class="row gx-5 row-cols-2 row-cols-lg-4 py-5">
<div class="col">
<div class="feature bg-primary bg-gradient text-white rounded-3 mb-3"><i
class="bi bi-chat-dots"></i></div>
<div class="h5 mb-2">Chat with us</div>

35
<p class="text-muted mb-0">Chat live with one of our support
specialists.</p>
</div>
<div class="col">
<div class="feature bg-primary bg-gradient text-white rounded-3 mb-3"><i
class="bi bi-telephone"></i></div>
<div class="h5">Call us</div>
<p class="text-muted mb-0">Call us during normal business hours at
9353826735</p>
</div>
</div>
</div>
</section>
</main>
<!-- Footer-->
<?php include_once('includes/footer.php');?>
</footer>
<!-- Bootstrap core JS-->
<script
src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
<!-- Core theme JS-->
<script src="js/scripts.js"></script>
<script src="https://cdn.startbootstrap.com/sb-forms-latest.js"></script>
</body>
</html>

INDEX
<?php include_once('includes/dbconnection.php');
?>
<!DOCTYPE html>
<html lang="en">
<head>

36
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-
fit=no" />
<meta name="description" content="" />
<meta name="author" content="" />
<title>Teachers Record Management System</title>
<!-- Favicon-->
<link rel="icon" type="image/x-icon" href="assets/favicon.ico" />
<!-- Bootstrap icons-->
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/bootstrap-icons.css"
rel="stylesheet" />
<!-- Core theme CSS (includes Bootstrap)-->
<link href="css/styles.css" rel="stylesheet" />
</head>
<body class="d-flex flex-column h-100">
<main class="flex-shrink-0">
<!-- Navigation-->
<?php include_once('includes/header.php');?>
<!-- Header-->
<header class="bg-dark py-5">
<div class="container px-5">
<div class="row gx-5 align-items-center justify-content-center">
<div class="col-lg-8 col-xl-7 col-xxl-6">
<div class="my-5 text-center text-xl-start">
<h1 class="display-5 fw-bolder text-white mb-2">Teachers Record
Management System</h1>

<div class="d-grid gap-3 d-sm-flex justify-content-sm-center justify-


content-xl-start" style="margin-top:5%;">
<a class="btn btn-primary btn-lg px-4 me-sm-3"
href="teacher/signup.php">Teachers Signup/Registration</a>

37
<a class="btn btn-outline-light btn-lg px-4"
href="teacher/index.php">Teachers Login</a>
</div>
</div>
</div>
<div class="col-xl-5 col-xxl-6 d-none d-xl-block text-center"><img
class="img-fluid rounded-3 my-5" src="images/3802031.jpg" alt="..." /></div>
</div>
</div>
</header>
<!-- Blog preview section-->
<section class="py-5">
<div class="container px-5 my-5">
<form method="post" action="search-result.php">
<aside class="bg-primary bg-gradient rounded-3 p-4 p-sm-5 mt-5">
<div class="d-flex align-items-center justify-content-between flex-column
flex-xl-row text-center text-xl-start">
<div class="mb-4 mb-xl-0">
<div class="fs-3 fw-bold text-white">Search Teacher by Name or
Subject</div>
</div>
<div class="ms-xl-4">
<div class="input-group mb-2">
<input class="form-control" type="text" placeholder="Search Teacher
by Name or Subject" aria-label="Email address..." aria-describedby="button-newsletter"
name="searchinput" required style="width:350px;" />
<button class="btn btn-outline-light" id="button-newsletter"
type="submit">Search</button>
</div>
</div>
</div>
</aside>
</form>

38
<hr />
<div class="row gx-5 justify-content-center">
<div class="col-lg-8 col-xl-6">
<div class="text-center">
<h2 class="fw-bolder">Listed Teachers</h2>
<hr color="red" />
</div>
</div>
</div>
<div class="row gx-5">
<?php
$sql="SELECT * from tblteacher where isPublic='1' limit 9";
$query = $dbh -> prepare($sql);
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
if($query->rowCount() > 0)
{
foreach($results as $row)
{ ?>

<div class="col-lg-4 mb-5">


<div class="card h-100 shadow border-0">
<img class="card-img-top" src="teacher/images/<?php echo $row-
>Picture;?>" alt="<?php echo htmlentities($row->Name);?>" />
<div class="card-body p-4">
<div class="badge bg-primary bg-gradient rounded-pill mb-2"><?php
echo htmlentities($row->TeacherSub);?></div>
<a class="text-decoration-none link-dark stretched-link"
href="teacher-details.php?tid=<?php echo $row->ID;?>" target="_blank">
<h5 class="card-title mb-3"><?php echo htmlentities($row-
>Name);?></h5></a>

39
<p class="card-text mb-0"><small>Registered Since <?php echo
htmlentities($row->RegDate);?></small></p>
</div>
</div>
</div>
<?php }} else{?>
<h3 align="center" style="color:red;">Record not Found</h3>
<?php } ?>
</div>
</div>
</section>
</main>
<!-- Footer-->
<?php include_once('includes/footer.php'); ?>
<!-- Bootstrap core JS-->
<script
src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
<!-- Core theme JS-->
<script src="js/scripts.js"></script>
</body>
</html>

LISTED-TEACHERS
<?php include_once('includes/dbconnection.php');
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-
fit=no" />

40
<meta name="description" content="" />
<meta name="author" content="" />
<title>Teachers Record Management System</title>
<!-- Favicon-->
<link rel="icon" type="image/x-icon" href="assets/favicon.ico" />
<!-- Bootstrap icons-->
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/bootstrap-icons.css"
rel="stylesheet" />
<!-- Core theme CSS (includes Bootstrap)-->
<link href="css/styles.css" rel="stylesheet" />
</head>
<body class="d-flex flex-column h-100">
<main class="flex-shrink-0">
<!-- Navigation-->
<?php include_once('includes/header.php');?>
<!-- Header-->
<!-- Blog preview section-->
<section class="py-5">
<div class="container px-5 my-5">
<form method="post" action="search-result.php">
<aside class="bg-primary bg-gradient rounded-3 p-4 p-sm-5 mt-5">
<div class="d-flex align-items-center justify-content-between flex-column
flex-xl-row text-center text-xl-start">
<div class="mb-4 mb-xl-0">
<div class="fs-3 fw-bold text-white">Search Teacher by Name or
Subject</div>
</div>
<div class="ms-xl-4">
<div class="input-group mb-2">
<input class="form-control" type="text" placeholder="Search Teacher
by Name or Subject" aria-label="Email address..." aria-describedby="button-newsletter"
name="searchinput" required style="width:350px;" />

41
<button class="btn btn-outline-light" id="button-newsletter"
type="submit">Search</button>
</div>
</div>
</div>
</aside>
</form>
<hr />
<div class="row gx-5 justify-content-center">
<div class="col-lg-8 col-xl-6">
<div class="text-center">
<h2 class="fw-bolder">Listed Teachers</h2>
<hr color="red" />
</div>
</div>
</div>
<div class="row gx-5">
<?php
$sql="SELECT * from tblteacher where isPublic='1'";
$query = $dbh -> prepare($sql);
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
if($query->rowCount() > 0)
{
foreach($results as $row)
{ ?>

<div class="col-lg-4 mb-5">


<div class="card h-100 shadow border-0">
<img class="card-img-top" src="teacher/images/<?php echo $row-
>Picture;?>" alt="<?php echo htmlentities($row->Name);?>" />

42
<div class="card-body p-4">
<div class="badge bg-primary bg-gradient rounded-pill mb-2"><?php
echo htmlentities($row->TeacherSub);?></div>
<a class="text-decoration-none link-dark stretched-link"
href="teacher-details.php?tid=<?php echo $row->ID;?>" target="_blank">
<h5 class="card-title mb-3"><?php echo htmlentities($row-
>Name);?></h5></a>
<p class="card-text mb-0"><small>Registered Since <?php echo
htmlentities($row->RegDate);?></small></p>
</div>
</div>
</div>
<?php }} else{?>
<h3 align="center" style="color:red;">Record not Found</h3>
<?php } ?>
</div>
<!-- Call to action-->

</div>
</section>
</main>
<!-- Footer-->
<?php include_once('includes/footer.php'); ?>
<!-- Bootstrap core JS-->
<script
src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
<!-- Core theme JS-->
<script src="js/scripts.js"></script>
</body>
</html>

SEARCH-RESULTS

43
<?php include_once('includes/dbconnection.php');
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-
fit=no" />
<meta name="description" content="" />
<meta name="author" content="" />
<title>Teachers Record Management System</title>
<!-- Favicon-->
<link rel="icon" type="image/x-icon" href="assets/favicon.ico" />
<!-- Bootstrap icons-->
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/bootstrap-icons.css"
rel="stylesheet" />
<!-- Core theme CSS (includes Bootstrap)-->
<link href="css/styles.css" rel="stylesheet" />
</head>
<body class="d-flex flex-column h-100">
<main class="flex-shrink-0">
<!-- Navigation-->
<?php include_once('includes/header.php');?>
<!-- Header-->
<!-- Blog preview section-->
<section class="py-5">
<div class="container px-5 my-5">
<form method="post" action="search-result.php">
<aside class="bg-primary bg-gradient rounded-3 p-4 p-sm-5 mt-5">
<div class="d-flex align-items-center justify-content-between flex-column
flex-xl-row text-center text-xl-start">

44
<div class="mb-4 mb-xl-0">
<div class="fs-3 fw-bold text-white">Search Teacher by Name or
Subject</div>
</div>
<div class="ms-xl-4">
<div class="input-group mb-2">
<input class="form-control" type="text" placeholder="Search Teacher
by Name or Subject" aria-label="Email address..." aria-describedby="button-newsletter"
name="searchinput" required style="width:350px;" />
<button class="btn btn-outline-light" id="button-newsletter"
type="submit">Search</button>
</div>
</div>
</div>
</aside>
</form>
<hr />
<div class="row gx-5 justify-content-center">
<div class="col-lg-8 col-xl-6">
<div class="text-center">
<?php $searchdata=$_POST['searchinput'];?>

<h2 class="fw-bolder">Search List Against <font color="red">"<?php


echo $searchdata;?>"</font></h2>
<hr color="red" />
</div>
</div>
</div>
<div class="row gx-5">
<?php
$sql="SELECT * from tblteacher where (isPublic='1') and (Name like '%$searchdata%'||
TeacherSub like '%$searchdata%')";

45
$query = $dbh -> prepare($sql);
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
if($query->rowCount() > 0)
{
foreach($results as $row)
{ ?>

<div class="col-lg-4 mb-5">


<div class="card h-100 shadow border-0">
<img class="card-img-top" src="teacher/images/<?php echo $row-
>Picture;?>" alt="<?php echo htmlentities($row->Name);?>" />
<div class="card-body p-4">
<div class="badge bg-primary bg-gradient rounded-pill mb-2"><?php
echo htmlentities($row->TeacherSub);?></div>
<a class="text-decoration-none link-dark stretched-link"
href="teacher-details.php?tid=<?php echo $row->ID;?>" target="_blank">
<h5 class="card-title mb-3"><?php echo htmlentities($row-
>Name);?></h5></a>
<p class="card-text mb-0"><small>Registered Since <?php echo
htmlentities($row->RegDate);?></small></p>
</div>

</div>
</div>
<?php }} else{?>
<h3 align="center" style="color:red;">Record not Found</h3>
<?php } ?>

</div>
<!-- Call to action-->

46
</div>
</section>
</main>
<!-- Footer-->
<?php include_once('includes/footer.php'); ?>
<!-- Bootstrap core JS-->
<script
src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
<!-- Core theme JS-->
<script src="js/scripts.js"></script>
</body>
</html>

<?php include_once('includes/dbconnection.php');

TEACHER-DETAILS
//Coding For query
if(isset($_POST['submit']))
{
$fname=$_POST['fname'];
$emailid=$_POST['emailid'];
$mobileno=$_POST['mobileno'];
$querymsg=$_POST['query'];
$teacherid=$_GET['tid'];
$sql="insert into
tblquery(teacherId,fName,emailId,mobileNumber,Query)values(:teacherid,:fname,:emailid,:
mobileno,:querymsg)";
$query=$dbh->prepare($sql);
$query->bindParam(':fname',$fname,PDO::PARAM_STR);
$query->bindParam(':emailid',$emailid,PDO::PARAM_STR);
$query->bindParam(':mobileno',$mobileno,PDO::PARAM_STR);

47
$query->bindParam(':querymsg',$querymsg,PDO::PARAM_STR);
$query->bindParam(':teacherid',$teacherid,PDO::PARAM_STR);
$query->execute();
$LastInsertId=$dbh->lastInsertId();
if ($LastInsertId>0) {
echo '<script>alert("Message Sent Successfully.")</script>';
echo "<script>window.location.href ='index.php'</script>";
}else{
echo '<script>alert("Something Went Wrong. Please try again")</script>';
}}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-
fit=no" />
<meta name="description" content="" />
<meta name="author" content="" />
<title>TRMS | Teachers Details</title>
<!-- Favicon-->
<link rel="icon" type="image/x-icon" href="assets/favicon.ico" />
<!-- Bootstrap icons-->
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/bootstrap-icons.css"
rel="stylesheet" />
<!-- Core theme CSS (includes Bootstrap)-->
<link href="css/styles.css" rel="stylesheet" />
</head>
<body class="d-flex flex-column h-100">
<main class="flex-shrink-0">
<!-- Navigation-->

48
<?php include_once('includes/header.php'); ?>
<!-- Page Content-->

<?php
$tid=intval($_GET['tid']);
$sql="SELECT * from tblteacher where isPublic='1' and ID='$tid'";
$query = $dbh -> prepare($sql);
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
if($query->rowCount() > 0)
{
foreach($results as $row)
{ ?>
<section class="py-5">
<div class="container px-5 my-5">
<div class="text-center mb-5">
<h1 class="fw-bolder"><?php echo htmlentities($row->Name);?>'s
Details</h1>
<p class="lead fw-normal text-muted mb-0">Registered Since <?php echo
htmlentities($row->RegDate);?></p>
</div>
<div class="row gx-5">
<div class="col-xl-8">
<!-- FAQ Accordion 1-->
<!-- <h2 class="fw-bolder mb-3">Persoanl Details </h2> -->
<div class="accordion mb-5" id="accordionExample">
<div class="accordion-item">
<h3 class="accordion-header" id="headingOne"><button
class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-
target="#collapseOne" aria-expanded="true" aria-controls="collapseOne">Personal
Details</button></h3>

49
<div class="accordion-collapse collapse show" id="collapseOne" aria-
labelledby="headingOne" data-bs-parent="#accordionExample">
<div class="accordion-body">
<table class="table table-bordered">

<tr>
<th></th>
<td><img src="teacher/images/<?php echo htmlentities($row->Picture);?>"
width="200"></td>
</tr>
<tr>
<th>Teacher Name</th>
<td><?php echo htmlentities($row->Name);?></td>
</tr>

<tr>
<th>Teacher Email ID</th>
<td><?php echo htmlentities($row->Email);?></td>
</tr>

<tr>
<th>Teacher Mobile Number</th>
<td><?php echo htmlentities($row->MobileNumber);?></td>
</tr>
<tr>
<th>Teacher Address</th>
<td><?php echo htmlentities($row->Address);?></td>
</tr>
<tr>
<th>Registered Since</th>
<td><?php echo htmlentities($row->RegDate);?></td>

50
</tr>
</table>
</div>
</div>
</div>

</div>
<!-- FAQ Accordion 2-->

<div class="accordion mb-5 mb-xl-0" id="accordionExample2">


<div class="accordion-item">
<h3 class="accordion-header" id="headingOne"><button
class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-
target="#collapseOne" aria-expanded="true" aria-controls="collapseOne">Professional
Details</button></h3>
<div class="accordion-collapse collapse show" id="collapseOne" aria-
labelledby="headingOne" data-bs-parent="#accordionExample2">
<div class="accordion-body">
<table class="table table-bordered">

<tr>
<th>Teacher Qualifications</th>
<td><?php echo htmlentities($row->Qualifications);?></td>
</tr>

<tr>
<th>Teaching Experience (in Years)</th>
<td><?php echo htmlentities($row->teachingExp);?></td>
</tr>

51
<tr>
<th>Teacher Subject</th>
<td><?php echo htmlentities($row->TeacherSub);?></td>
</tr>
<tr>
<th>Description (if Any)</th>
<td><?php echo htmlentities($row->description);?></td>
</tr>

</table>
</div>
</div>
</div>

</div>
</div>
<div class="col-xl-4">
<div class="card border-0 bg-light mt-xl-5">
<div class="card-body p-4 py-lg-5">
<div class="d-flex align-items-center justify-content-center">
<div class="text-center">
<div class="h6 fw-bolder">Have more questions?</div>
<p class="text-muted mb-4">
Contact me at
<br />
<a href="#!"><?php echo htmlentities($row->Email);?></a>
</p>
<h5>OR</h5>
<form method="post">

52
<p> <input type="text" name="fname" placeholder="Enter your fullname" class="form-
control" required></p>
<p><input type="email" name="emailid" placeholder="Enter your emaild" class="form-
control" required></p>
<p><input type="text" name="mobileno" placeholder="Enter your mobile no" class="form-
control" pattern="[0-9]{10}" title="10 numeric characters only" required></p>
<p><textarea class="form-control" name="query" placeholder="Query / Message"
required></textarea>
</p>
<input type="submit" class="btn btn-primary" name="submit">
</form>

</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<?php } } else{ ?>
<hr />
<h3 align="center" style="color:red;">Record not Found</h3>
<?php } ?>
</main>
<!-- Footer-->
<?php include_once('includes/footer.php'); ?>
<!-- Bootstrap core JS-->
<script
src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
<!-- Core theme JS-->

53
<script src="js/scripts.js"></script>
</body>
</html>
JS
/*!
* Start Bootstrap - Modern Business v5.0.5 (https://startbootstrap.com/template-
overviews/modern-business)
* Copyright 2013-2021 Start Bootstrap
* Licensed under MIT (https://github.com/StartBootstrap/startbootstrap-modern-
business/blob/master/LICENSE)
*/
// This file is intentionally blank
// Use this file to add JavaScript to your project
CHANGE PASSWORD
<?php
session_start();
error_reporting(0);
include('includes/dbconnection.php');
if (strlen($_SESSION['trmsuid']==0)) {
header('location:logout.php');
} else{
if(isset($_POST['submit']))
{
$eid=$_SESSION['trmsuid'];
$propic=$_FILES["newpic"]["name"];
$extension = substr($propic,strlen($propic)-4,strlen($propic));
$allowed_extensions = array(".jpg","jpeg",".png",".gif");
if(!in_array($extension,$allowed_extensions))
{
echo "<script>alert('Profile Pics has Invalid format. Only jpg / jpeg/ png /gif format
allowed');</script>";

54
}
else
{

$propic=md5($propic).time().$extension;
move_uploaded_file($_FILES["newpic"]["tmp_name"],"images/".$propic);

$sql="update tblteacher set Picture=:pic where ID=:eid ";

$query = $dbh->prepare($sql);
$query->bindParam(':pic',$propic,PDO::PARAM_STR);
$query->bindParam(':eid',$eid,PDO::PARAM_STR);
$query->execute();
echo '<script>alert("Image has been updated")</script>';
echo "<script>window.location.href='profile.php'</script>";

}
}
?>

<!doctype html>
<html class="no-js" lang="en">

<head>

<title>TRMS|| Update Image</title>

<link rel="apple-touch-icon" href="apple-icon.png">

55
<link rel="stylesheet" href="../vendors/bootstrap/dist/css/bootstrap.min.css">
<link rel="stylesheet" href="../vendors/font-awesome/css/font-awesome.min.css">
<link rel="stylesheet" href="../vendors/themify-icons/css/themify-icons.css">
<link rel="stylesheet" href="../vendors/flag-icon-css/css/flag-icon.min.css">
<link rel="stylesheet" href="../vendors/selectFX/css/cs-skin-elastic.css">

<link rel="stylesheet" href="../assets/css/style.css">

<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,600,700,800'
rel='stylesheet' type='text/css'>

</head>

<body>
<!-- Left Panel -->
<?php include_once('includes/sidebar.php');?>
<div id="right-panel" class="right-panel">
<!-- Header-->
<?php include_once('includes/header.php');?>

<div class="breadcrumbs">
<div class="col-sm-4">
<div class="page-header float-left">
<div class="page-title">
<h1>Update Image</h1>
</div>
</div>
</div>

56
<div class="col-sm-8">
<div class="page-header float-right">
<div class="page-title">
<ol class="breadcrumb text-right">
<li><a href="dashboard.php">Dashboard</a></li>
<li><a href="manage-teacher.php">Update Image</a></li>
<li class="active">Update</li>
</ol>
</div>
</div>
</div>
</div>

<div class="content mt-3">


<div class="animated fadeIn">
<div class="row">
<div class="col-lg-6">
<!-- .card -->
</div>
<!--/.col-->
<div class="col-lg-12">
<div class="card">
<div class="card-header"><strong>Update</strong><small>
Image</small></div>
<form name="" method="post" action="" enctype="multipart/form-data">

<div class="card-body card-block">


<?php
$eid=$_SESSION['trmsuid'];
$sql="SELECT * from tblteacher where ID=$eid";
$query = $dbh -> prepare($sql);

57
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
$cnt=1;
if($query->rowCount() > 0)
{
foreach($results as $row)
{ ?>
<div class="form-group"><label for="company" class=" form-control-
label">Teaher Name</label><input type="text" name="subjects" value="<?php echo $row-
>Name;?>" class="form-control" id="subjects" readonly='true'></div>
<div class="form-group"><label for="company" class=" form-control-
label">Profile Pic</label>
<?php if($row->Picture==''):?>
<img src="images/no-image.png" alt="NO Image">
<?php else: ?>
<img src="images/<?php echo $row->Picture;?>" width="100" height="100" value="<?php
echo $row->Picture;?>">
<?php endif;?>
</div>
<div class="form-group">
<label for="company" class=" form-control-label">New Profile
Pic</label>
<input type="file" name="newpic" value="" class="form-control"
id="newpic" required='true'>
</div>
<?php $cnt=$cnt+1;}} ?>
<div class="card-footer">
<p style="text-align: center;"><button type="submit"
class="btn btn-primary btn-sm" name="submit" id="submit">
<i class="fa fa-dot-circle-o"></i> Update
</button></p>

</div>

58
</div>
</form>
</div>
</div>
</div><!-- .animated -->
</div><!-- .content -->
</div><!-- /#right-panel -->
<!-- Right Panel -->
<script src="../vendors/jquery/dist/jquery.min.js"></script>
<script src="../vendors/popper.js/dist/umd/popper.min.js"></script>
<script src="../vendors/jquery-
validation/dist/jquery.validate.min.js"></script>
<script src="../vendors/jquery-validation-
unobtrusive/dist/jquery.validate.unobtrusive.min.js"></script>
<script src="../vendors/bootstrap/dist/js/bootstrap.min.js"></script>
<script src="../assets/js/main.js"></script>
</body>
</html>
<?php } ?>

<?php
session_start();
//error_reporting(0);
include('includes/dbconnection.php');
error_reporting(0);
if (strlen($_SESSION['trmsuid']==0)) {
header('location:logout.php');
} else{
if(isset($_POST['submit']))
{
$tid=$_SESSION['trmsuid'];

59
$cpassword=md5($_POST['currentpassword']);
$newpassword=md5($_POST['newpassword']);
$sql ="SELECT ID FROM tblteacher WHERE ID=:tid and password=:cpassword";
$query= $dbh -> prepare($sql);
$query-> bindParam(':tid', $tid, PDO::PARAM_STR);
$query-> bindParam(':cpassword', $cpassword, PDO::PARAM_STR);
$query-> execute();
$results = $query -> fetchAll(PDO::FETCH_OBJ);

if($query -> rowCount() > 0)


{
$con="update tblteacher set password=:newpassword where ID=:tid";
$chngpwd1 = $dbh->prepare($con);
$chngpwd1-> bindParam(':tid', $tid, PDO::PARAM_STR);
$chngpwd1-> bindParam(':newpassword', $newpassword, PDO::PARAM_STR);
$chngpwd1->execute();

echo '<script>alert("Your password successully changed")</script>';


echo "<script>window.location.href='change-password.php'</script>";
} else {
echo '<script>alert("Your current password is wrong")</script>';
echo "<script>window.location.href='change-password.php'</script>";

60
?>

<!doctype html>
<html class="no-js" lang="en">

<head>

<title>CCMS Change Password</title>

<link rel="apple-touch-icon" href="apple-icon.png">

<link rel="stylesheet" href="../vendors/bootstrap/dist/css/bootstrap.min.css">


<link rel="stylesheet" href="../vendors/font-awesome/css/font-awesome.min.css">
<link rel="stylesheet" href="../vendors/themify-icons/css/themify-icons.css">
<link rel="stylesheet" href="../vendors/flag-icon-css/css/flag-icon.min.css">
<link rel="stylesheet" href="../vendors/selectFX/css/cs-skin-elastic.css">

<link rel="stylesheet" href="../assets/css/style.css">

<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,600,700,800'
rel='stylesheet' type='text/css'>

<script type="text/javascript">
function checkpass()
{
if(document.changepassword.newpassword.value!=document.changepassword.confirmpassw
ord.value)
{
alert('New Password and Confirm Password field does not match');

61
document.changepassword.confirmpassword.focus();
return false;
}
return true;
}

</script>

</head>

<body>
<!-- Left Panel -->

<?php include_once('includes/sidebar.php');?>

<div id="right-panel" class="right-panel">

<!-- Header-->
<?php include_once('includes/header.php');?>

<div class="breadcrumbs">
<div class="col-sm-4">
<div class="page-header float-left">
<div class="page-title">
<h1>Change Password</h1>
</div>
</div>
</div>
<div class="col-sm-8">
<div class="page-header float-right">

62
<div class="page-title">
<ol class="breadcrumb text-right">
<li><a href="dashboard.php">Dashboard</a></li>
<li><a href="change-password.php">Change Password</a></li>
<li class="active">Change</li>
</ol>
</div>
</div>
</div>
</div>

<div class="content mt-3">


<div class="animated fadeIn">

<div class="row">
<div class="col-lg-6">
<!-- .card -->

</div>
<!--/.col-->

<div class="col-lg-12">
<div class="card">
<div class="card-header"><strong>Change</strong><small>
Password</small></div>

<form name="changepassword" method="post" onsubmit="return


checkpass();" action="">

<div class="card-body card-block">

63
<div class="form-group"><label for="company" class=" form-control-
label">Current Password</label><input type="password" name="currentpassword"
id="currentpassword" class="form-control" required=""></div>
<div class="form-group"><label for="vat" class=" form-control-
label">New Password</label><input type="password" name="newpassword" class="form-
control" required=""></div>
<div class="form-group"><label for="street" class=" form-control-
label">Confirm Password</label><input type="password" name="confirmpassword"
id="confirmpassword" value="" class="form-control"></div>

</div>

<p style="text-align: center;"><button type="submit"


class="btn btn-primary btn-sm" name="submit" id="submit">
<i class="fa fa-dot-circle-o"></i> Change
</button></p>

</div>
</form>
</div>

</div>
</div><!-- .animated -->
</div><!-- .content -->
</div><!-- /#right-panel -->
<!-- Right Panel -->

<script src="../vendors/jquery/dist/jquery.min.js"></script>

64
<script src="../vendors/popper.js/dist/umd/popper.min.js"></script>

<script src="../vendors/jquery-
validation/dist/jquery.validate.min.js"></script>
<script src="../vendors/jquery-validation-
unobtrusive/dist/jquery.validate.unobtrusive.min.js"></script>

<script src="../vendors/bootstrap/dist/js/bootstrap.min.js"></script>
<script src="../assets/js/main.js"></script>
</body>
</html>
<?php } ?>
<?php
session_start();

error_reporting(0);
include('includes/dbconnection.php');
if (strlen($_SESSION['trmsuid']==0)) {
header('location:logout.php');
} else {
?>

<!doctype html>
<html class="no-js" lang="en">
<head>

<title>TRMS Admin Dashboard</title>

<link rel="apple-touch-icon" href="apple-icon.png">

65
<link rel="stylesheet" href="../vendors/bootstrap/dist/css/bootstrap.min.css">
<link rel="stylesheet" href="../vendors/font-awesome/css/font-awesome.min.css">
<link rel="stylesheet" href="../vendors/themify-icons/css/themify-icons.css">
<link rel="stylesheet" href="../vendors/flag-icon-css/css/flag-icon.min.css">
<link rel="stylesheet" href="../vendors/selectFX/css/cs-skin-elastic.css">
<link rel="stylesheet" href="../vendors/jqvmap/dist/jqvmap.min.css">

<link rel="stylesheet" href="../assets/css/style.css">

<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,600,700,800'
rel='stylesheet' type='text/css'>

</head>

<body>

<?php include_once('includes/sidebar.php');?>

<div id="right-panel" class="right-panel">

<?php include_once('includes/header.php');?>
<!-- Header-->

<div class="breadcrumbs">
<div class="col-sm-4">
<div class="page-header float-left">
<div class="page-title">
<h1>Dashboard</h1>
</div>

66
</div>
</div>
<div class="col-sm-8">
<div class="page-header float-right">
<div class="page-title">
<ol class="breadcrumb text-right">
<li class="active">Dashboard</li>
</ol>
</div>
</div>
</div>
</div>

<div class="content mt-3">

<div class="col-sm-6 col-lg-12">


<div class="card text-white bg-flat-color-4">
<div class="card-body pb-0">
<div class="dropdown float-right">

</div>
<?php
$eid=$_SESSION['trmsuid'];
$query=$dbh -> prepare("SELECT * from tblteacher where ID=$eid");
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);

67
foreach($results as $row)
{
?>
<h3 class="mb-0">
<span >Welcome back : <?php echo htmlentities($row->Name);?></span>
</h3>
<hr />
<?php if($row->isPublic=='1'):?>
<p class="text-light">Your Profile is Public. Student can see your
profile.</p>
<?php else: ?>
<p class="text-light">Your Profile is not Public. Student can't see your profile.</p>
<?php endif;?>
<?php } ?>
<div class="chart-wrapper px-3" style="height:70px;" height="70">
<canvas id="widgetChart4"></canvas>
</div>

</div>
</div>
</div>
<!--/.col-->

<a href="queries.php">
<div class="col-sm-12 col-lg-12">
<div class="card text-white bg-flat-color-2">
<div class="card-body pb-0">
<div class="dropdown float-right">

</div>

68
<?php
$tid=$_SESSION['trmsuid'];
$sql1 ="SELECT ID from tblquery where teacherId='$tid' ";
$query1 = $dbh -> prepare($sql1);
$query1->execute();
$results1=$query1->fetchAll(PDO::FETCH_OBJ);
$totalquery=$query1->rowCount();
?>
<h2 class="mb-0">
<span class="count"><?php echo htmlentities($totalquery);?></span>
</h2>
<p class="text-light">Total Query Received</p>

<div class="chart-wrapper px-0" style="height:70px;" height="70">


<canvas id="widgetChart2"></canvas>
</div>

</div>
</div>
</div>
</a>

</div> <!-- .content -->


</div><!-- /#right-panel -->

<!-- Right Panel -->

69
<script src="../vendors/jquery/dist/jquery.min.js"></script>
<script src="../vendors/popper.js/dist/umd/popper.min.js"></script>
<script src="../vendors/bootstrap/dist/js/bootstrap.min.js"></script>
<script src="../assets/js/main.js"></script>

<script src="../vendors/chart.js/dist/Chart.bundle.min.js"></script>
<script src="../assets/js/dashboard.js"></script>
<script src="../assets/js/widgets.js"></script>
<script src="../vendors/jqvmap/dist/jquery.vmap.min.js"></script>
<script src="../vendors/jqvmap/examples/js/jquery.vmap.sampledata.js"></script>
<script src="../vendors/jqvmap/dist/maps/jquery.vmap.world.js"></script>
<script>
(function($) {
"use strict";

jQuery('#vmap').vectorMap({
map: 'world_en',
backgroundColor: null,
color: '#ffffff',
hoverOpacity: 0.7,
selectedColor: '#1de9b6',
enableZoom: true,
showTooltip: true,
values: sample_data,
scaleColors: ['#1de9b6', '#03a9f5'],
normalizeFunction: 'polynomial'
});
})(jQuery);
</script>

70
</body>

</html>
<?php } ?>
<?php
session_start();
error_reporting(0);
include('includes/dbconnection.php');

if(isset($_POST['submit']))
{
$email=$_POST['email'];
$mobile=$_POST['mobile'];
$newpassword=md5($_POST['newpassword']);
$sql ="SELECT Email FROM tblteacher WHERE Email=:email and
MobileNumber=:mobile";
$query= $dbh -> prepare($sql);
$query-> bindParam(':email', $email, PDO::PARAM_STR);
$query-> bindParam(':mobile', $mobile, PDO::PARAM_STR);
$query-> execute();
$results = $query -> fetchAll(PDO::FETCH_OBJ);
if($query -> rowCount() > 0)
{
$con="update tblteacher set Password=:newpassword where Email=:email and
MobileNumber=:mobile";
$chngpwd1 = $dbh->prepare($con);
$chngpwd1-> bindParam(':email', $email, PDO::PARAM_STR);
$chngpwd1-> bindParam(':mobile', $mobile, PDO::PARAM_STR);
$chngpwd1-> bindParam(':newpassword', $newpassword, PDO::PARAM_STR);
$chngpwd1->execute();

71
echo "<script>alert('Your Password succesfully changed');</script>";
echo "<script>window.location.href ='index.php'</script>";
}
else {
echo "<script>alert('Email id or Mobile no is invalid');</script>";
}
}

?>
<!doctype html>
<html class="no-js" lang="en">
<head>

<title>TRMS Forgot Password</title>

<link rel="apple-touch-icon" href="apple-icon.png">

<link rel="stylesheet" href="../vendors/bootstrap/dist/css/bootstrap.min.css">


<link rel="stylesheet" href="../vendors/font-awesome/css/font-awesome.min.css">
<link rel="stylesheet" href="../vendors/themify-icons/css/themify-icons.css">
<link rel="stylesheet" href="../vendors/flag-icon-css/css/flag-icon.min.css">
<link rel="stylesheet" href="../vendors/selectFX/css/cs-skin-elastic.css">

<link rel="stylesheet" href="../assets/css/style.css">

<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,600,700,800'
rel='stylesheet' type='text/css'>

72
<script type="text/javascript">
function valid()
{
if(document.chngpwd.newpassword.value!= document.chngpwd.confirmpassword.value)
{
alert("New Password and Confirm Password Field do not match !!");
document.chngpwd.confirmpassword.focus();
return false;
}
return true;
}
</script>

</head>

<body class="bg-dark" style=" background-image: url('images/cool-background.png');">

<div class="sufee-login d-flex align-content-center flex-wrap">


<div class="container">
<div class="login-content">
<div class="login-logo">
<h3 style="color:#fff">Teacher Record Management System </h3>
<hr color="red"/>
</div>
<div class="login-form">
<form action="" method="post" name="chngpwd" onSubmit="return valid();">

<div class="form-group">
<label>Email Address</label>

73
<input type="email" class="form-control" required="" name="email">
</div>

<div class="form-group">
<label>Mobile Number</label>
<input type="text" class="form-control" name="mobile" required="true">
</div>

<div class="form-group">
<label>Password</label>
<input class="form-control" type="password" name="newpassword" required="true"/>
</div>

<div class="form-group">
<label>Confirm Password</label>
<input class="form-control" type="password" name="confirmpassword" required="true" />
</div>

<div class="checkbox">
<label class="pull-left">
<a href="index.php">signin</a>
</label>
</div>

<button type="submit" class="btn btn-success btn-flat m-b-30 m-t-30"


name="submit">Reset</button>
</form>

</div>
</div>
</div>

74
</div>

<script src="../vendors/jquery/dist/jquery.min.js"></script>
<script src="../vendors/popper.js/dist/umd/popper.min.js"></script>
<script src="../vendors/bootstrap/dist/js/bootstrap.min.js"></script>
<script src="../assets/js/main.js"></script>

</body>

</html>
<?php
session_start();
error_reporting(0);
include('includes/dbconnection.php');

if(isset($_POST['login']))
{
$username=$_POST['username'];
$password=md5($_POST['password']);
$sql ="SELECT ID,Name FROM tblteacher WHERE (Email=:username ||
MobileNumber=:username) and password=:password";
$query=$dbh->prepare($sql);
$query-> bindParam(':username', $username, PDO::PARAM_STR);
$query-> bindParam(':password', $password, PDO::PARAM_STR);
$query-> execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
if($query->rowCount() > 0)
{
foreach ($results as $result) {

75
$_SESSION['trmsuid']=$result->ID;
$_SESSION['trmstname']=$result->Name;
}

echo "<script type='text/javascript'> document.location ='dashboard.php'; </script>";


} else{
echo "<script>alert('Invalid Details');</script>";
}
}

?>

<!doctype html>
<html class="no-js" lang="en">
<head>

<title>TRMS Admin Login</title>

<link rel="apple-touch-icon" href="apple-icon.png">

<link rel="stylesheet" href="../vendors/bootstrap/dist/css/bootstrap.min.css">


<link rel="stylesheet" href="../vendors/font-awesome/css/font-awesome.min.css">
<link rel="stylesheet" href="../vendors/themify-icons/css/themify-icons.css">
<link rel="stylesheet" href="../vendors/flag-icon-css/css/flag-icon.min.css">
<link rel="stylesheet" href="../vendors/selectFX/css/cs-skin-elastic.css">

<link rel="stylesheet" href="../assets/css/style.css">

76
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,600,700,800'
rel='stylesheet' type='text/css'>

</head>

<body class="bg-dark" style=" background-image: url('images/cool-background.png');">

<div class="sufee-login d-flex align-content-center flex-wrap" >


<div class="container">
<div class="login-content">
<div class="login-logo">
<h3 style="color:black">Teacher Records Management System </h3>
<hr color="red"/>
</div>
<div class="login-form">
<form action="" method="post" name="login">

<div class="form-group">
<label>Email Id / Mobile Number</label>
<input type="text" class="form-control" placeholder="Email id / Mobile
Number" required="true" name="username">
</div>
<div class="form-group">
<label>Password</label>
<input type="password" class="form-control" placeholder="Password"
name="password" required="true">
</div>

77
<div class="checkbox">
<label class="pull-left">
<a href="../index.php">Back Home!!</a>
<label class="pull-right">
<a href="forgot-password.php" style="padding-left: 250px">Forgot
Password?</a>
</label>

</div>
<button type="submit" class="btn btn-success btn-flat m-b-30 m-t-30"
name="login">Sign in</button>
<hr />
<p style="color:blue">Not Registered Yet | <a
href="signup.php">Signup Here</a></p>

</form>
</div>
</div>
</div>
</div>

<script src="../vendors/jquery/dist/jquery.min.js"></script>
<script src="../vendors/popper.js/dist/umd/popper.min.js"></script>
<script src="../vendors/bootstrap/dist/js/bootstrap.min.js"></script>
<script src="../assets/js/main.js"></script>

</body>

78
</html>
<?php session_start();
//error_reporting(0);
include('includes/dbconnection.php');
if (strlen($_SESSION['trmsuid']==0)) {
header('location:logout.php');
} else{
if(isset($_POST['submit']))
{
$eid=$_SESSION['trmsuid'];
$tname=$_POST['tname'];
$email=$_POST['email'];
$mobnum=$_POST['mobilenumber'];
$address=$_POST['address'];
$quali=$_POST['qualifications'];
$tsubjects=$_POST['tsubjects'];
$tdate=$_POST['joiningdate'];
$description=$_POST['description'];
$teachexp=$_POST['teachingexp'];
$status=$_POST['status'];
$sql="update tblteacher set
Name=:tname,Email=:email,MobileNumber=:mobilenumber,Qualifications=:qualifications,
Address=:address,TeacherSub=
:tsubjects,JoiningDate=:joiningdate,description=:description,teachingExp=:teachexp,isPublic
=:status where ID=:eid";
$query = $dbh->prepare($sql);
$query->bindParam(':tname',$tname,PDO::PARAM_STR);
$query->bindParam(':email',$email,PDO::PARAM_STR);
$query->bindParam(':qualifications',$quali,PDO::PARAM_STR);
$query->bindParam(':mobilenumber',$mobnum,PDO::PARAM_STR);
$query->bindParam(':address',$address,PDO::PARAM_STR);
$query->bindParam(':tsubjects',$tsubjects,PDO::PARAM_STR);

79
$query->bindParam(':joiningdate',$tdate,PDO::PARAM_STR);
$query->bindParam(':eid',$eid,PDO::PARAM_STR);
$query->bindParam(':description',$description,PDO::PARAM_STR);
$query->bindParam(':teachexp',$teachexp,PDO::PARAM_STR);
$query->bindParam(':status',$status,PDO::PARAM_STR);
$query->execute();
echo '<script>alert("Your profile succesfull updated.")</script>';
echo "<script>window.location.href='dashboard.php'</script>";

}
?>

<!doctype html>
<html class="no-js" lang="en">

<head>

<title>TRMS|| Teacher Profile</title>

<link rel="apple-touch-icon" href="apple-icon.png">

<link rel="stylesheet" href="../vendors/bootstrap/dist/css/bootstrap.min.css">


<link rel="stylesheet" href="../vendors/font-awesome/css/font-awesome.min.css">
<link rel="stylesheet" href="../vendors/themify-icons/css/themify-icons.css">
<link rel="stylesheet" href="../vendors/flag-icon-css/css/flag-icon.min.css">
<link rel="stylesheet" href="../vendors/selectFX/css/cs-skin-elastic.css">

<link rel="stylesheet" href="../assets/css/style.css">

80
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,600,700,800'
rel='stylesheet' type='text/css'>

</head>

<body>
<!-- Left Panel -->

<?php include_once('includes/sidebar.php');?>

<div id="right-panel" class="right-panel">

<!-- Header-->
<?php include_once('includes/header.php');?>

<div class="breadcrumbs">
<div class="col-sm-4">
<div class="page-header float-left">
<div class="page-title">
<h1>Update Teacher Detail</h1>
</div>
</div>
</div>
<div class="col-sm-8">
<div class="page-header float-right">
<div class="page-title">
<ol class="breadcrumb text-right">
<li><a href="dashboard.php">Dashboard</a></li>

81
<li><a href="manage-teacher.php">Update Teacher</a></li>
<li class="active">Update</li>
</ol>
</div>
</div>
</div>
</div>

<div class="content mt-3">


<div class="animated fadeIn">

<div class="row">

<!--/.col-->

<div class="col-lg-6" style="float-left:left !important">


<div class="card">
<div class="card-header"><strong>Teacher</strong><small> Personal
Details</small></div>
<form name="" method="post" action="" enctype="multipart/form-data">

<div class="card-body card-block">


<?php
$eid=$_SESSION['trmsuid'];
$sql="SELECT * from tblteacher where ID=$eid";
$query = $dbh -> prepare($sql);
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
$cnt=1;
if($query->rowCount() > 0)

82
{
foreach($results as $row)
{ ?>
<div class="form-group">
<label for="company" class=" form-control-label">Teacher Name</label>
<input type="text" name="tname" value="<?php echo $row->Name;?>" class="form-
control" id="tname" required="true">
</div>

<div class="form-group">
<label for="company" class=" form-control-label">Teacher Pic</label> &nbsp;
<?php if($row->Picture==''):?>
<img src="images/no-image.png" alt="NO Image">
<?php else: ?>
<img src="images/<?php echo $row->Picture;?>" width="100" height="100" value="<?php
echo $row->Picture;?>">
<?php endif;?>
<a href="changeimage.php"> &nbsp; Edit Image</a>
</div>

<div class="form-group">
<label for="street" class=" form-control-label">Teacher Email ID</label>
<input type="text" name="email" value="<?php echo $row->Email;?>" id="email"
class="form-control" required="true">
</div>

<div class="row form-group">


<div class="col-12">
<div class="form-group"><label for="city" class=" form-control-label">Teacher Mobile
Number</label><input type="text" name="mobilenumber" id="mobilenumber"

83
value="<?php echo $row->MobileNumber;?>" class="form-control" required="true"
maxlength="10" pattern="[0-9]+"></div>
</div>
</div>

<div class="row form-group">


<div class="col-12">
<div class="form-group"><label for="city" class=" form-control-label">Teacher
Address</label><textarea type="text" name="address" id="address" class="form-control"
rows="3" cols="12" required="true"><?php echo $row->Address;?></textarea></div>
</div>
</div>

<div class="row form-group">


<div class="col-12">
<div class="form-group"><label for="city" class=" form-control-label">Joining
Date</label><input type="date" name="joiningdate" id="joiningdate" value="<?php echo
$row->JoiningDate;?>" class="form-control" required="true"></div>
</div>
</div>
</div>

</div>

</div>
<! >
<div class="col-lg-6">

84
<div class="card">
<div class="card-header"><strong>Teacher</strong><small> Professional
Details</small></div>
<form name="" method="post" action="" enctype="multipart/form-data">

<div class="card-body card-block">

<div class="row form-group">


<div class="col-12">
<div class="form-group">
<label for="city" class=" form-control-label">Teacher Qualifications(Sepereted by
comma)</label>
<input type="text" name="qualifications" id="qualifications" value="<?php echo $row-
>Qualifications;?>" class="form-control" required="true">
</div>
</div>
</div>

<div class="row form-group">


<div class="col-12">
<div class="form-group">
<label for="city" class=" form-control-label">Teaching Experience (in Years)</label>
<input type="text" name="teachingexp" id="teachingexp" pattern="[0-9]+" title="only
numbers" value="<?php echo $row->teachingExp;?>" class="form-control"
required="true">
</div>
</div>
</div>

85
<div class="row form-group">
<div class="col-12">
<div class="form-group"><label for="city" class=" form-control-label">Teacher
Subjects</label><select type="text" name="tsubjects" id="tsubjects" value="" class="form-
control" required="true">
<option value="<?php echo $row->TeacherSub;?>"><?php echo $row-
>TeacherSub;?></option>
<?php
$sql2 = "SELECT * from tblsubjects ";
$query2 = $dbh -> prepare($sql2);
$query2->execute();
$result2=$query2->fetchAll(PDO::FETCH_OBJ);
foreach($result2 as $row1)
{
?>
<option value="<?php echo htmlentities($row1->Subject);?>"><?php echo
htmlentities($row1->Subject);?></option>
<?php } ?>
</select></div>
</div>
</div>

<div class="row form-group">


<div class="col-12">
<div class="form-group"><label for="city" class=" form-control-label">Description (if
Any)</label><textarea type="text" name="description" id="description" class="form-
control" rows="3" cols="12" required="true"><?php echo $row-
>description;?></textarea></div>
</div>
</div>

86
<div class="row form-group">
<div class="col-12">
<div class="form-group"><label for="city" class=" form-control-label">Profile Status <small
style="color:red">(Public profile anybody can your details and not public only you can
view)</small></label>
<select type="text" name="status" id="status" value="" class="form-control"
required="true">
<?php if($row->isPublic=='1'):?>
<option value="1">Public</option>
<option value="0">Not public</option>
<?php else: ?>
<option value="0">Not public</option>
<option value="1">Public</option>
<?php endif;?>
</select></div>
</div>
</div>

</div>
<?php $cnt=$cnt+1;}} ?>

<p style="text-align: center;"><button type="submit" class="btn btn-primary btn-sm"


name="submit" id="submit"><i class="fa fa-dot-circle-o"></i> Update</button></p>

</div>
</form>
</div>

87
</div>
</div><!-- .animated -->
</div><!-- .content -->
</div><!-- /#right-panel -->
<!-- Right Panel -->

<script src="../vendors/jquery/dist/jquery.min.js"></script>
<script src="../vendors/popper.js/dist/umd/popper.min.js"></script>

<script src="../vendors/jquery-
validation/dist/jquery.validate.min.js"></script>
<script src="../vendors/jquery-validation-
unobtrusive/dist/jquery.validate.unobtrusive.min.js"></script>

<script src="../vendors/bootstrap/dist/js/bootstrap.min.js"></script>
<script src="../assets/js/main.js"></script>
</body>
</html>
<?php } ?>
<?php
session_start();

error_reporting(0);
include('includes/dbconnection.php');
if (strlen($_SESSION['trmsuid']==0)) {
header('location:logout.php');
} else{
?>
<!doctype html>
<html class="no-js" lang="en">
<head>

88
<title>TRMS || Manage Queries</title>

<link rel="apple-touch-icon" href="apple-icon.png">

<link rel="stylesheet" href="../vendors/bootstrap/dist/css/bootstrap.min.css">


<link rel="stylesheet" href="../vendors/font-awesome/css/font-awesome.min.css">
<link rel="stylesheet" href="../vendors/themify-icons/css/themify-icons.css">
<link rel="stylesheet" href="../vendors/flag-icon-css/css/flag-icon.min.css">
<link rel="stylesheet" href="../vendors/selectFX/css/cs-skin-elastic.css">

<link rel="stylesheet" href="../assets/css/style.css">

<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,600,700,800'
rel='stylesheet' type='text/css'>

</head>

<body>
<!-- Left Panel -->

<?php include_once('includes/sidebar.php');?>

<div id="right-panel" class="right-panel">

<!-- Header-->
<?php include_once('includes/header.php');?>

89
<div class="breadcrumbs">
<div class="col-sm-4">
<div class="page-header float-left">
<div class="page-title">
<h1>Manage Queries</h1>
</div>
</div>
</div>
<div class="col-sm-8">
<div class="page-header float-right">
<div class="page-title">
<ol class="breadcrumb text-right">
<li><a href="dashboard.php">Dashboard</a></li>
<li><a href="manage-teacher.php">Manage Queries</a></li>
<li class="active">Manage Queries</li>
</ol>
</div>
</div>
</div>
</div>

<div class="content mt-3">


<div class="animated fadeIn">
<div class="row">
<div class="col-lg-12">
<div class="card">
<div class="card-header">
<strong class="card-title">Manage Queries</strong>
</div>
<div class="card-body">

90
<table id="dtBasicExample" class="table table-striped table-bordered">
<thead>
<tr>
<tr>
<th>S.NO</th>

<th>Name</th>
<th>Email</th>
<th>Mobile No</th>
<th> Date</th>
<th>Action</th>
</tr>
</tr>
</thead>
<?php

$tid=$_SESSION['trmsuid'];
$sql="SELECT * from tblquery where teacherId='$tid'";
$query = $dbh -> prepare($sql);
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);

$cnt=1;
if($query->rowCount() > 0)
{
foreach($results as $row)
{ ?>

<tr>
<td><?php echo htmlentities($cnt);?></td>
<td><?php echo htmlentities($row->fName);?></td>

91
<td><?php echo htmlentities($row->emailId);?></td>
<td><?php echo htmlentities($row->mobileNumber);?></td>
<td><?php echo htmlentities($row->queryDate);?></td>
<td><a href="query-details.php?qid=<?php echo htmlentities ($row->id);?>"
class="btn btn-primary">View</a>

</td>
</tr>
<?php $cnt=$cnt+1;}} ?>

</table>
</div>
</div>
</div>

</div>
</div><!-- .animated -->
</div><!-- .content -->

</div><!-- /#right-panel -->

<!-- Right Panel -->

<script src="../vendors/jquery/dist/jquery.min.js"></script>
<script src="../vendors/popper.js/dist/umd/popper.min.js"></script>
<script src="../vendors/bootstrap/dist/js/bootstrap.min.js"></script>
<script src="./assets/js/main.js"></script>

92
<script src="https://cdn.datatables.net/1.11.5/js/dataTables.bootstrap.min.js"></script>
<script src="https://cdn.datatables.net/1.11.5/js/jquery.dataTables.min.js"></script>
<link rel="stylesheet" type="text/css"
href="https://cdn.datatables.net/1.11.5/css/dataTables.bootstrap.min.css">
<script type="text/javascript">
$(document).ready(function () {
$('#dtBasicExample').DataTable();
$('.dataTables_length').addClass('bs-select');
});
</script>
</body>

</html>
<?php } ?>
A<?php
session_start();
//error_reporting(0);
include('includes/dbconnection.php');
if (strlen($_SESSION['trmsuid']==0)) {
header('location:logout.php');
} else{
// Updating Notes

if(isset($_POST['submit']))
{
$tid=$_SESSION['trmsuid'];
$qid=intval($_GET['qid']);
$notes=$_POST['notes'];
$query=$dbh->prepare("update tblquery set teacherNote=:notes where teacherId=:tid and
id=:qid");
$query->bindParam(':notes',$notes,PDO::PARAM_STR);

93
$query->bindParam(':tid',$tid,PDO::PARAM_STR);
$query->bindParam(':qid',$qid,PDO::PARAM_STR);
$query->execute();
echo '<script>alert("Notes updated succesfull.")</script>';
echo "<script>window.location.href='queries.php'</script>";
}

?>
<!doctype html>
<html class="no-js" lang="en">
<head>

<title>TRMS || Manage Queries</title>

<link rel="apple-touch-icon" href="apple-icon.png">

<link rel="stylesheet" href="../vendors/bootstrap/dist/css/bootstrap.min.css">


<link rel="stylesheet" href="../vendors/font-awesome/css/font-awesome.min.css">
<link rel="stylesheet" href="../vendors/themify-icons/css/themify-icons.css">
<link rel="stylesheet" href="../vendors/flag-icon-css/css/flag-icon.min.css">
<link rel="stylesheet" href="../vendors/selectFX/css/cs-skin-elastic.css">

<link rel="stylesheet" href="../assets/css/style.css">

<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,600,700,800'
rel='stylesheet' type='text/css'>

94
</head>

<body>
<!-- Left Panel -->

<?php include_once('includes/sidebar.php');?>

<div id="right-panel" class="right-panel">

<!-- Header-->
<?php include_once('includes/header.php');?>
<div class="breadcrumbs">
<div class="col-sm-4">
<div class="page-header float-left">
<div class="page-title">
<h1>Query Details</h1>
</div>
</div>
</div>
<div class="col-sm-8">
<div class="page-header float-right">
<div class="page-title">
<ol class="breadcrumb text-right">
<li><a href="dashboard.php">Dashboard</a></li>
<li><a href="manage-teacher.php">Query Details</a></li>
<li class="active">Query Details</li>
</ol>
</div>
</div>

95
</div>
</div>

<div class="content mt-3">


<div class="animated fadeIn">
<div class="row">
<div class="col-lg-12">
<div class="card">
<div class="card-header">
<strong class="card-title">Query Details</strong>
</div>
<div class="card-body">
<table id="dtBasicExample" class="table table-striped table-bordered">
<thead>
</thead>
<?php
$tid=$_SESSION['trmsuid'];
$qid=intval($_GET['qid']);
$sql="SELECT * from tblquery where teacherId='$tid' and id='$qid'";
$query = $dbh -> prepare($sql);
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);

$cnt=1;
if($query->rowCount() > 0)
{
foreach($results as $row)
{ ?>

<tr>

96
<th>Full Name</th>
<td><?php echo htmlentities($row->fName);?></td>
<th>Email Id</th>
<td><?php echo htmlentities($row->emailId);?></td>
</tr>
<tr>
<th>Mobile Number</th>
<td><?php echo htmlentities($row->mobileNumber);?></td>
<th>Query Date</th>
<td><?php echo htmlentities($row->queryDate);?></td>
</tr>

<tr>

<th>Query</th>
<td colspan="3"><?php echo htmlentities($row->Query);?></td>
</tr>

<form method="post">
<tr>
<th>Notes</th>
<td colspan="3"><textarea class="form-control" name="notes" required><?php echo
htmlentities($row->teacherNote);?></textarea></td>
</tr>
<tr>
<th></th>
<td colspan="3"><input type="submit" name="submit" class="btn btn-primary"
value="Update"></td>
</tr>
</form>

97
</td>
</tr>
<?php $cnt=$cnt+1;}} ?>

</table>
</div>
</div>
</div>

</div>
</div><!-- .animated -->
</div><!-- .content -->

</div><!-- /#right-panel -->

<!-- Right Panel -->

<script src="../vendors/jquery/dist/jquery.min.js"></script>
<script src="../vendors/popper.js/dist/umd/popper.min.js"></script>
<script src="../vendors/bootstrap/dist/js/bootstrap.min.js"></script>
<script src="./assets/js/main.js"></script>
</body>

</html>
<?php } ?>
<?php

98
session_start();
error_reporting(0);
include('includes/dbconnection.php');

//code for Signp


if(isset($_POST['submit']))
{
$fname=$_POST['fname'];
$emailid=$_POST['emailid'];
$phoneno=$_POST['mobileno'];
$password=md5($_POST['password']);
//Checking if emailor mobile already registered
$query =$dbh->prepare("SELECT ID FROM tblteacher WHERE Email=:emailid and
MobileNumber=:phoneno");
$query-> bindParam(':emailid', $emailid, PDO::PARAM_STR);
$query-> bindParam(':phoneno', $phoneno, PDO::PARAM_STR);
$query-> execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
if($query->rowCount() > 0)
{
echo "<script>alert('Email id or Mobile no already registered with another
account.');</script>";
echo "<script type='text/javascript'> document.location ='signup.php'; </script>";
} else {

$sql="insert into
tblteacher(Name,Email,MobileNumber,password)values(:fname,:emailid,:phoneno,:password
)";
$query=$dbh->prepare($sql);
$query->bindParam(':fname',$fname,PDO::PARAM_STR);
$query->bindParam(':emailid',$emailid,PDO::PARAM_STR);
$query->bindParam(':phoneno',$phoneno,PDO::PARAM_STR);

99
$query->bindParam(':password',$password,PDO::PARAM_STR);
$query->execute();
$LastInsertId=$dbh->lastInsertId();
if ($LastInsertId>0) {
echo '<script>alert("Registered succesfully")</script>';
echo "<script>window.location.href ='index.php'</script>";
}
else
{
echo '<script>alert("Something Went Wrong. Please try again")</script>';
}

?>

<!doctype html>
<html class="no-js" lang="en">
<head>

<title>TRMS Admin Login</title>

<link rel="apple-touch-icon" href="apple-icon.png">

100
<link rel="stylesheet" href="../vendors/bootstrap/dist/css/bootstrap.min.css">
<link rel="stylesheet" href="../vendors/font-awesome/css/font-awesome.min.css">
<link rel="stylesheet" href="../vendors/themify-icons/css/themify-icons.css">
<link rel="stylesheet" href="../vendors/flag-icon-css/css/flag-icon.min.css">
<link rel="stylesheet" href="../vendors/selectFX/css/cs-skin-elastic.css">

<link rel="stylesheet" href="../assets/css/style.css">

<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,600,700,800'
rel='stylesheet' type='text/css'>

</head>

<body class="bg-dark" style=" background-image: url('images/cool-background.png');">

<div class="sufee-login d-flex align-content-center flex-wrap" >


<div class="container">
<div class="login-content">
<div class="login-logo">
<h3 style="color:black">Teachers Record Management System </h3>
<hr color="red"/>
<h3 style="color:black"> Teacher Registration </h3>
<hr color="red"/>
</div>
<div class="login-form">
<form action="" method="post" name="login">

101
<div class="form-group">
<label>Teacher Full Name</label>
<input type="text" class="form-control" placeholder="Full Name"
required="true" name="fname">
</div>

<div class="form-group">
<label>Email Id</label>
<input type="email" class="form-control" placeholder="Email id"
required="true" name="emailid">
</div>

<div class="form-group">
<label>Mobile Number</label>
<input type="text" class="form-control" placeholder="Mobile Number"
maxlength="10" pattern="[0-9]{10}" title="10 numeric characters only" required="true"
name="mobileno">
</div>
<div class="form-group">
<label>Password</label>
<input type="password" class="form-control" placeholder="Password"
name="password" required="true">
</div>

<button type="submit" class="btn btn-success btn-flat m-b-30 m-t-30"


name="submit">Sign Up</button>

<div class="checkbox">
<label class="pull-left">
<a href="../index.php">Back Home!!</a>
<label class="pull-right">
<a href="index.php" style="padding-left: 250px">Already Registered
Login Here</a>

102
</label>

</div>
</form>
</div>
</div>
</div>
</div>

<script src="../vendors/jquery/dist/jquery.min.js"></script>
<script src="../vendors/popper.js/dist/umd/popper.min.js"></script>
<script src="../vendors/bootstrap/dist/js/bootstrap.min.js"></script>
<script src="../assets/js/main.js"></script>
</body>

</html>

103
Reference:
Acharya, Kamal. "STUDENT INFORMATION MANAGEMENT
SYSTEM." Authorea Preprints (2023).
Acharya, Kamal. "Library Management System." Available at SSRN4807104 (2019).
ACHARYA, KAMAL, et al. "LIBRARY MANAGEMENT SYSTEM." (2019).
Acharya, Kamal. "Online bus reservation system project report." Authorea
Preprints (2024).
Acharya, Kamal. "Online bus reservation system project report." (2024).
Acharya, Kamal. “Online Bus Reservation System.” SSRN ElectroNIC ASIA
Journal (2024): n. pag.
Acharya, Kamal. “Student Information Management System Project.” SSRN
ElectroNIC ASIA Journal (2024): n. pag.
Acharya, Kamal. “ATTENDANCE MANAGEMENT SYSTEM.” International
Research Journal of Modernization in Engineering Technology and
Science (2023): n. pag.
Acharya, Kamal. “College Information Management System.” SSRN ElectroNIC
ASIA Journal (2024): n. pag.
Acharya, Kamal, Attendance Management System Project (April 28, 2024).
Available at
SSRN: https://ssrn.com/abstract=4810251 or http://dx.doi.org/10.2139/ssrn.4810251
Acharya, Kamal, Online Food Order System (May 2, 2024). Available at
SSRN: https://ssrn.com/abstract=4814732 or http://dx.doi.org/10.2139/ssrn.4814732
Acharya, Kamal, University management system project. (May 1, 2024). Availableat
SSRN: https://ssrn.com/abstract=4814103 or http://dx.doi.org/10.2139/ssrn.4814103
Acharya, Kamal, Online banking management system. (May 1, 2024). Available at
SSRN: https://ssrn.com/abstract=4813597 or http://dx.doi.org/10.2139/ssrn.4813597
Acharya, Kamal, Online Job Portal Management System (May 5, 2024). Available at
SSRN: https://ssrn.com/abstract=4817534 or http://dx.doi.org/10.2139/ssrn.4817534
Acharya, Kamal, Employee leave management system. (May 7, 2024). Available
at SSRN: https://ssrn.com/abstract=4819626 or http://dx.doi.org/10.2139/ssrn.4819626
Acharya, Kamal, Online electricity billing project report. (May 7, 2024). Available at
SSRN: https://ssrn.com/abstract=4819630 or http://dx.doi.org/10.2139/ssrn.4819630
Acharya, Kamal, POLICY MANAGEMENT SYSTEM PROJECT REPORT. (December 10,
2023). Available at
SSRN: https://ssrn.com/abstract=4831694 or http://dx.doi.org/10.2139/ssrn.4831694
Acharya, Kamal, Online job placement system project report. (January 10, 2023). Available at
SSRN: https://ssrn.com/abstract=4831638 or http://dx.doi.org/10.2139/ssrn.4831638
Acharya, Kamal, Software testing for project report. (May 16, 2023). Available at
SSRN: https://ssrn.com/abstract=4831028 or http://dx.doi.org/10.2139/ssrn.4831028
Acharya, Kamal, ONLINE CRIME REPORTING SYSTEM PROJECT. (August 10, 2022).
Available at
SSRN: https://ssrn.com/abstract=4831015 or http://dx.doi.org/10.2139/ssrn.4831015

104

You might also like