Design and Implementation of Web Based School Fees Payment System by John Ekwugumokwu C
Design and Implementation of Web Based School Fees Payment System by John Ekwugumokwu C
BY
AUGUST, 2023
i
DECLARATION
I, Ekwugumokwu John Chukwuemeke hereby declare that this project titled “Design And
Implementation Of Web Based School Fees Payment System (A Case Study Of Shaka
Polytechnic, Benin City, Edo State)” was carried out by me under the supervision of Engr. I.
Akhideno. It has not been presented for award in any institution. All sources of information
are specifically acknowledged by means of reference.
……………………………………….. ……………………….
Signature Date
ii
CERTIFICATION
This project entitled “Design and Implementation of Web Based School Fees Payment
System (A Case Study of Shaka Polytechnic, Benin City, Edo State)” by Ekwugumokwu
John Chukwuemeke meets the requirements governing the award of Higher National
Diploma in Computer Science and it is approved for its contribution to knowledge and
literary representation.
-------------------------------------------------- -------------------------
Engr. I. Akhideno Date
Supervisor
--------------------------------------------------- -------------------------
Mrs. Okungbowa A. A. Date
Head of Department
External Examiner
iii
ACKNOWLEDGEMENTS
First and foremost, I give thanks to God for his infinite mercy, support, guidance and his grace
My sincere appreciation to those, whose effort have aided in the successful completion of this
research work. This research work couldn’t have been a success without the guidance and
support of my Supervisor Engr. I. Akhideno, who despite his commitments still found time to
go through my research work and reasons with my shortcomings. My deep appreciation also
My earnest and sincere gratitude to my parents, Mr. & Mrs. Godwin Ekwugumokwu, really
strong parents, for their moral and financial support, and also to my wonderful brothers and
sisters for their patience, tolerance and understanding. Thank you and may God bless you all
abundantly. Amen.
My utmost gratitude to a really admirable spiritual father and mother, Pastor and Mrs.
Princewill Aimienoho, for his moral and financial support. A true role model indeed. May
My true gratitude to all who have helped me either directly or indirectly in the completion and
iv
ABSTRACT
Automated school fees payment system is a research work that will help build an effective
information management system for Shaka Polytechnic, Benin City, Edo State within the
admin department. The designed web based school fees payment system will serve as a more
reliable and effective means of documenting school fees payment and cash payment and
eliminate errors associated with the manual method of recording payment details. This project
work made use of data collected from the polytechnic library, and journals. The aim of this
project work is to achieve the following; to effectively and efficiently process students school
fees payment and document it, to provide a reliable and transparent system devoid of personal
inclinations and interest and to provide borderless access to ensure prompt retrieval. The
implementation of the computer-based school fee payment documentation system was carried
out using PHP, MySQL, HTML, CSS, Java Script and Visual Studio Code Editor as
Integrated Development Environment (IDE). The result obtained from this work was the
design of an efficient system that will help to enhance the system of school fees payment, with
minimal cases of error so as to give room for accuracy and transparency. In conclusion, the
work met all the objectives intended.
v
TABLE OF CONTENTS
TITLE Error! Bookmark not defined.
DECLARATION ii
CERTIFICATION iii
ACKNOWLEDGEMENT iv
ABSTRACT v
TABLE OF CONTENTS vi
vi
2.9 Database 155
2.10 PHP 166
2.11 MySQL Database 167
Fig 4.11 School Fees Payment Page: After a student generate his/her school fees invoice successfully….30
vii
viii
CHAPTER ONE
INTRODUCTION
1.1 Introduction
The essence of obtaining an education is for better adaptation in society, and to be able
to make an impact therein. The desire to acquire knowledge is the natural feeling of mankind
and every human being whose mind is not debauched will be willing to give all that is
required of him/her to get knowledge.
It is based on this fact that educational institutions have been set up for people to enroll
and learn. However a there is always a price to be paid for such knowledge. This price is
commonly referred to as ‘School Fee’ or ‘tuition fee’.
According to Oxford Dictionary (6th Edition), fee is defined as an amount of money
that one pays for professional services. Simply put, school fee is that fixed interval payment
made by a student or students to the school he or she attends. From the definition, one can
outline that school fee payment supposed to be in a regular interval that is timely, however a
times such fees are not paid as at when expected. This could be as a result of financial
challenges on the part of the student.
Late payment of school fees creates a lot of problems for school management. When students
refuse to pay their school fees in time, the school management lacks the financial strength to
be as effective as expected. Apart from the management being ineffective financially, students
also face challenges such as not being allowed to write their examinations. The need
for ‘computer based’ system for fees payment necessitated this research, in order to help
solve these problems of either delayed fee payment, or the students not paying at all or the fee
being misused/mismanaged or stolen as a result of a criminal attack. Either on student at the
course of payment or the bursary department/school management.
Using Shaka Polytechnic, Benin City, Edo State as a case study, the research has the intention
of creating a webpage that could process students school fees payment to Shaka Polytechnic
bank accounts and electronically lodging individual students fees indicating
name, class, category, registration number, level/class, date of payment, amount of money
paid, academic session/ bank's name, account number, phone number, and other personal
records etc. This will ensure timeliness and safety of payment.
1
1.2 Background Of The Study
Shaka Polytechnic in Benin City, Nigeria, is a privately owned tertiary institution, which was
established on 6 February 1986 as the Nigerian Institute of Computer Science.
The school was founded by Late Donaldson Shaka Momodu. It has its main campus at Evbo-
Ewedo, Egba Way, along Benin-Auchi Road and the first campus at 1, Prince Shaka Momodu
Street, Ogiso Quarters, Benin City. The institution became accredited as a Polytechnic by
the National Board for Technical Education (NBTE) in 2013. The polytechnic is under the
leadership of Henrietta Shaka Momodu.
In this school, there is need for an automated method of keeping data, more so a greater need
for an automatic school fees payment system. These would go a long way in alleviating the
various problems and challenges associated with the manual method of school fees payment.
Hence it became imperative for a school fees payment system to be put in place to eliminate
the shortcomings of the manual system.
Today the computer is being used in virtually every sphere of human endeavors, we can find
computers everywhere around us. In fact the story of the 21 stCentury will be incomplete
without mention of computers and their applications. It’s almost impossible to even imagine
the modern facilities without the use of computers. For many individuals computer means
‘PC’, on which they can see movies, play games, prepare office sheets and manage daily
planners.
Computer means much more than the term ‘PC’. A computer can simply be defined as a
machine which takes instructions and perform computations and operations accordingly.
These commanded instructions are known as programs and computers execute these programs
to do an operation. At a time, a set of instructions can be given to a computer to perform
several operations, simultaneously. This feature is a point of distinction for the computers.
Many types of computers are available these days. Depending on their usage and service
application. They can be classified in various categories. Supercomputers are capable of doing
trillions of calculations in fraction of seconds, so they are used as controlling units of banking
transactions; to keep records of railway systems, in schools to monitor school fees payment
system in the bursary department and air transportations; to conduct decent flow of
telecommunication and many more complex operations can be controlled, organized and
conducted by using supercomputers.
2
On the other hand computers are also used in conducting simple operations like billing, ticket
transactions, record maintenance, security analysis etc. And even computers (PC) are also
used to carry out general home based activities such as office sheet maintenance, day planner,
entertainment etc. So computers are involved in every sector of life with different forms and
different applications.
In modern our world everything around us like GPS, ATM machines, cell phones, petrol
pumps, portable play stations and all other devices use computer controlling units to conduct
their featured operations.
The processes of manual school fees payment have resulted to a lot of problems, which in turn
prevent students from writing exams in time due to the slow rate of processing the school fees
from the bursary department. There are also cases of misplacement of the school fee tellers
This process is causing a lot of problems because many students will have to line up in
unending queues in banks where so many unforeseen events might happen. A student might
lose his/her money; get tired due to stress and so many other events.
1.4 Motivation
The existing system or mode of payment results to stress due to the factors and conditions
encountered during payments. Every new and returning student has to register at the
Most students are in a state of confusion during registration either because they do not
currently have the money to pay for their school fees or will have to come down to school to
pay during process with no guaranteed accommodation or send the money to a friend who is
in school.
3
Based on these observations, a Web based system for Payment which will enable students
overcome these problems is designed and implemented. The system will allow a student to
open an account at a designated bank and keep his/her school fees in the account anytime and
any day. Due to the present situation of the country, parents can also keep their children’s
entire school fees in their account. Therefore, the system allows you to keep your school fees
incrementally or at once. The development of this Web based system will eliminate the major
1.5 Aim
The project work will help in a good number of ways to ease the operation of the existing
system of school fees payment. The new system will contribute to the efficient management of
1.6 Objectives
interest
ii. To provide a system that will relieve the staff and works of the academy the stress of
iii. The new system will bring an end to the issues of lost receipts or of any kind as the
records and data will be stored in the new system’s database which is safe and reliable
iv. The new system gives a quick access to data and modification of records if necessary.
4
vi. To design a system that will be capable of generating the student receipt when
payment is made and recorded with all the corresponding awaiting bills is incurred
viii. To ensure safety of the documents/records, because the system will be password aided
to enhance security.
This research work is limited to school fees payment and documentation for the student of the
Shaka Polytechnic, Benin City, Edo State. The resultant webpage is developed using PHP,
MySQL, HTML, CSS, Java Script and Visual Studio Code Editor as Integrated Development
Environment (IDE) so as to manage both the database (Backend) and the webpage (Front
End).
be carried out and the requirements of the new system will be clearly defined by
ii. Application Program -: At this stage, the design work flow will be converted to code
and debugged.
iii. Testing and Development -: The completed application will be tested and deployed on
5
1.9 Significance
The project work will help in a good number of ways to ease the operation of the existing
system of school fees payment. The new system will contribute to the efficient management of
The project is divided into five (5) chapters. Chapter One is introductory chapter that includes
the motivation, scope, research methodology, aims and objectives of the work, Chapter Two is
the literature review, Chapter Three talks about the system analysis and design of the work,
Chapter Four is the system development, implementation and testing and finally Chapter Five
Resources: The cost of hardware, software, site design, and online distribution cost,
maintenance of site and time constraint; all these factored into the cost of providing the
product.
Power supply: Non Availability of stable, efficient and reliable power supply is also a
The bandwidth, which means how quickly information travels between the computer where
your web site is located (your Web server), and the visitor’s computer. In spite of the fact that
56.6kbps modems, and even 10Mbps cable modems are becoming more common, many
6
1.12 Definition of Terms
Computer Network: Computer Network is a system that connects two or more computers
together using a communication link. (Bufts 1989) World Wide Web: World Wide Web
simply called www is the most important tool of the Internet. (Jeff 20010)
File Transfer: Any kind of computer file can be sent via the Internet from one Internet user to
another. Table of accounts on spreadsheets, design by a graphic artists, music sound files etc,
Web Brower: This is a special kind of software that processes hypertext make-up language
(HTML) document. In other words, a web browser is a computer program that interprets
HTML command to collect, arranged and display the parts of a web page. (Cleff 2000)
Web Site: A website is a collection of many interconnected web pages organized by a specific
college, organization company etc, containing web pages (good and commodities) on the
Internet. Web site is stored on web servers. There are many web site and thousands of HTML
pages on each web site. A web site is a treasure of information and entertainment. (Donald
1986)
Hyperlinks: Hyperlinks are highlighted words and phrase you find on web documents that
you can click on as to jump to some other documents or Internet services. (Clex 1990)
System: Set of computer components that is, an assembling of hardware, software and
7
Automation: This is the use of control system such as computer to control and process data,
Database: This refers to a large store of related data on a computer that can be accessed and
Password: This is a secret code that a user must type into a computer to enable him access it
Receipt: a piece of written note that attests to a payment made to one another caring the
amount paid and balance if incurred usually signed by both party or one end.
8
CHAPTER TWO
LITERATURE REVIEW
2.1 Introduction
As the number of users on the World Wide Web increases every day, its use in different areas
is also growing. One of the most powerful uses of web based applications is that they are used
to simplify work which is normally done manually. This chapter presents a literature review
on; information systems, electronic payment systems, card payment processing, fees payment
systems in Nigerian Institutions and comparison of the existing online systems with the
intended system.
hardware and software that people and organizations use to collect, filters, and process, create,
and distribute data. The study bridges business and computer science using the theoretical
foundations of information and computation to study various business models and related
An Information system refers to information technology and people's activities that support
In this sense, the term is used to refer not only to the information and communication
technology (ICT) that an organization uses, but also to the way in which people interact with
Information system is an integrated set of components for collecting, storing, and processing
data and for delivering information, knowledge and digital products. Business firms and other
9
organizations rely on information systems to carry out and manage their operations, interact
with their customers and suppliers, and also compete in the labour market [4].
Electronic payment system is a term to describe any exchange of funds initiated via an
Electronic payment systems are summoned to facilitate the most important action after the
Several initiatives have been undertaken to create and develop electronic payment systems
and successful ones include various types of smart cards, electronic cash, and electronic
cheque mechanisms [8]. Electronic payment systems can be categorized into four groups:
online credit card payment system, online electronic cash system, electronic cheque system
For the purpose of the present study, the researcher focuses on the Electronic Fund Transfer
There are six parties involved in a traditional credit card processing cycle; customer, card
issuing bank, merchant, merchant’s bank, acquirer, and a credit card processor [9]. The card
issuing bank issues credit cards to customers and maintains their accounts and the merchant
In order to accept credit cards, the merchant needs to register with an acquirer, a bank or
financial institution that sets up an account for the merchant and provides a terminal to process
10
credit cards. The processor is a large data center maintained by the credit card network, and it
line transaction. The service provider or the commercial bank grants a line of credit to the card
user, and the card user is required to pay at least a minimum amount for any transaction made
every month [8]. With the credit approach, charges are posted against the customer's account
and the customer is billed for this amount later or subsequently pays the balance of the
account to the payment service. Credit cards are the most commonly used method of
electronic payment [10] and are widely accepted by consumers and merchants throughout the
combine the service of Automatic Teller Machines (ATM) cards and cheques [10].
When customers pay with a debit card, the money is automatically deducted from their
checking bank account [11]. In contrast with the credit cards, the spent money comes from the
bank account directly. Many banks issue a combined ATM/debit card that looks like a credit
card and can be used in places where credit cards are accepted.
In this case, when users pay with a debit card, the payment will still be processed as a debit
transaction. Both debit and credit cards are associated with advantage of convenience, speed,
11
2.5 Fees Payment Systems In Nigeria
Banks, ATM stands are usually filled up during registration with people who want to either
withdraw or pay their school fees. In the Nigerian context, e-payment is the process of
effecting payments from one end to another end through the medium of the computer
without manual intervention beyond inputting the payment data, it is the ability to pay the
suppliers, vendors and staff salaries electronically at the touch of a computer button [11].
The Federal Government of Nigeria through its treasury circular ref. No TRY/A8 &
B8 of 22nd October, 2008 directed that payments from all funds of the Federal Government
of Nigeria be made electronically as from 1st January, 2009 in order to eliminate the
rather unacceptable delay in the payment of government contractors who have been
certified to have either partly or totally completed contracts awarded to them and are due
for payment; minimize interaction between contractors and government officials who
have roles to play in the payment of contractors; check corruption because transaction
of government can easily be traced from one source to another, introduce and
Shaka Polytechnic has an efficient and effective Financial Information System (FINIS) that
records, monitors, and reports about student fees payment transactions and other finances in
the university. Fees payments by students are made through cash deposits, electronic funds
transfer and bank drafts to the university’s accounts in specific bank branches and later
reflected in FINIS which integrates with the Academic Records Information System (ARIS)
that provides information on students. These methods of paying fees have not been efficient
12
enough especially during periods of registration. The process of fees payment in such periods
is characterized by long queues, too much waiting by students and congestion at banks where
payments are made. This process has always resulted in students being stressed as they have
to line up in unending queues at various banks. It has also resulted to too much costs and a lot
of time used in transferring and withdrawing money whenever sponsors of students make
money transfers to students to enable pay university fees at specific bank branches [2].
E-commerce Payment Systems, despites it’s numerous benefits comes with its own challenges
even in the developed world. This section looks at some these challenges with specific focus
on Nigeria [13];
i Behavioral constraints: The fact that Nigeria is cash-based, people are accustomed to
ii Banks attitudes: Some banks in Nigeria are very conservative; they use very
iii Lack of confidence: the security issue is one of the major challenges in the
v Lack of suitable legal and regulatory framework for e-payments: Nigerian current
13
vi Inadequate banking system
inevitably disturb smooth operations of business and free flow of goods and services.
viii High rates of illiteracy: low literacy rate is a serious impediment for adoption of e-
payments as it hinders the accessibility of banking services. For citizens to fully enjoy
the benefits of e-payments, they should not only know how to read and write but also
ix High cost of Internet: The cost of Internet access relative to per capita income is a
critical factor. Compared to developed countries, there are higher costs of entry
into the e-payments and e-commerce market. These include high start-up
requirements.
shall integrate with the already existing systems, FINIS and ARIS. This system was proposed
to solve the problems associated with the current fees payment methods in the polytechnic.
APPS is an alternative platform that enables students and their sponsors to securely pay
14
The system helps to reduce the students who have to line up in queues at various banks
waiting to pay their school fees. It will also provide a medium of payment which is easy not
Wikipedia defines a web based application as a software package that can be accessed through
the web browser over a network which can be local or an internet. The software and database
reside on a central server rather than being installed on the desktop system and is accessed
over a network. Web based applications are the ultimate way to take advantage of today's
Web based application gives you an opportunity to access your business information from
anywhere in the world at any time. It also facilitates you to save time & money and improve
the interactivity with your customers and partners. It allows the administration staff of any
organization to work from any location and sales staff to access information remotely 24/7.
With a computer connected to the Internet, a web browser and the right user name and
password you can access the systems from any location. Web-based applications are easy to
use and can be implemented without interrupting your existing work process. The web based
software enables you to interact with the application and data in a fluid and highly responsive
manner.
2.9 Database
A database is an organized collection of data for one or more purposes, usually in digital form.
The data are typically organized to model relevant aspects of reality (for example, the
availability of rooms in hotels), in a way that supports processes requiring this information
15
(for example, finding a hotel with vacancies). The term "database" refers both to the way its
users view it, and to the logical and physical materialization of its data, content, in files,
computer memory, and computer data storage. The database is the long-term memory of your
database application.
2.10 PHP
PHP is a server-side scripting language designed specifically for Web. Within an HTML page,
you can embed PHP code that will be executed each time the page is visited. Your PHP code
is interpreted at the web server and generates HTML or other output that the visitor will see.
PHP was conceived in 1994 and was originally the work of one man, Rasmus Lerdorf. It was
adopted by other talented people and has gone through four major rewrites to bring us the
board, mature produce we see today. As of November 2007, it was installed on more than 21
million domains worldwide, and this number is growing rapidly. You can see the current
number at http://php.net/usage.php.
PHP is an Open Source project, which means you have access to the source code and can use,
alter, and redistribute it without charge. PHP originally stood for Personal Home Page but was
changed in line with GNU recursive naming convention (GNU = Gnu’s Not Unix) and now
stands for PHP Hypertext Preprocessor. The current major version of PHP is 5. This version
saw a complete rewrite of the underling Zend engine and some major improvements to the
language. The home page for PHP is available at http://www.php.net. The home page for
16
2.11 MySQL Database
The core of a web database application is the database, which is the long term memory that
stores information for the application. A database is an electronic file cabinet that stores
information in an organized manner so that you can find it when you need it. After all, storing
information is pointless if you can’t find it. A database can be small, with a simple structure
for example, a database containing the titles and authors’ names of all the books that you own.
Or a database can be huge, with an extremely complex structure such as the database that
MySQL is a fast, easy-to-use RDBMS used for databases on many Web sites. Speed was the
developers’ main focus from the beginning. In the interest of speed, they made the decision to
offer fewer features than their major competitors (for instance, Oracle and Sybase). However,
even though MySQL is less full featured than its commercial competitors, it has all the
features needed by the majority of database developers. It’s easier to install and use than its
commercial competitors, and the difference in price is strongly in MySQL’s favor [13].
17
CHAPTER THREE
SYSTEM DESIGN
specified requirements. In system design the following tools and techniques were used;
The APS Web Application is a portal system that enables students of the Shaka Polytechnic
deposit money into their accounts created with the system and enables them to automatically
pay their school fees anywhere and anytime during registration. To achieve this functionality,
HTML and CSS have being used to develop and beautify the interface, JavaScript is used to
validate some of the inputs and also validate some of the functions of the system. PHP has
also being used to communicate with the database on sharing and storing data.
shows how data is processed if such data is valid and also specifies what happens when such
data is invalid.
18
Success?
Home Page Regist Student Dashboard
Pay School Fees
er
Check Balance
Success?
Logi Is_Admi Change Password
n n
Yes?
Failed?
Admin Dashboard Create Student Record
Show Students
database server. The user on a web interface makes a web request which is received by the
web server. The web server processes the request and interacts with the database server using
19
SQL embedded in PHP scripts. The response is a web page data sent on the web interface for
the user.
The APPS system consists of three different parts which are the Student Interface,
Administrator Interface and the Bank Interface. The Student Interface provides the
functionality which enables a student pay his/her school fees, view his/her payment details,
check balance and change password. Secondly, the Administrator interface allows the
administrator to create a new student, update student school fees, update session and level.
Lastly, the Bank interface allows a bank staff to register a student, confirm student deposit
Authentication
Data Integrity
View Information
input is generally done through the standard terminal keyboard or with the mouse in case of
combo boxes, option lists (or command buttons). At this stage, different screen (window or
20
forms) are designed to guide data entry procedure. The input variables needed for this work
i. Student -: Login form that requires username (matric number) and password, after
logging in, there are the pay school fees form that allows a student pay his/her school
fees, and change password form that allows modification of existing passwords etc.
ii. Administrator -: Login form that requires username and password, after logging in,
there is a form that allows the administrator creates new students, a form to update
session and another form to update level and school fees etc.
ii. The system shall process fees payment transactions so that student fees accounts are
iii. The system shall produce a receipt as a proof of payment for every transaction made.
v. The system shall provide feedback to the student describing the status of the
transaction.
21
v. The system should be secure.
vii. The system should be easy to learn by both sophisticated and novice users.
viii. The system should provide easy, navigable and user friendly interfaces.
ix. The system should have a standard graphical user interface that allows for the on-line
One major consideration of the work is to determine a suitable file structure and organization
so as to maintain integrity, reduce redundancy, and ensure easy retrieval of data from the
application. This phase specifies all the files used for the system and their structures. The
database is designed using MySQL. The Automatic Payment Portal System (APPS) designed
specifically for the case study Shaka Polytechnic, Benin City , Edo State is made of database
objects such as entities (tables), routines, attributes (fields), views (virtual tables) etc. The
table names, field names, data type, character length, attributes, null, default values, extra
action and other descriptions for all tables used are also specified.
System.
22
Fig 3.3 APPS Database Schema diagram
i. new_Student: This table keeps record of all the details of students created by the
administrator. It shows the students of the university that have being created by the
administrator.
ii. registered_Student: This table keeps record of students that have registered to use the
APPS system.
iii. receipt: This table keeps track of the students’ receipt for every deposit made into
his/her account. It includes the date of payment, receipt number, amount deposited, the
23
iv. payment: This table keeps track of what a student has paid for and the amount such
item costs. It also includes the date of payment, who made the payment and some other
details.
v. payment_Status: This table keeps record of students that have paid their school fees.
It includes the name, transaction id for the payment, session for which the payment is
made and the amount paid and the status of the student to show that he/she has paid
vi. admin_Users: This table records the name, username and password of the
administrator and the date and time the admin last logged into the system.
24
CHAPTER FOUR
This Chapter presents the various tools that have being used in making this project a success.
i. CSS (Cascading Style Sheet): It provides a way to style and present HTML. It
provides a well formed, attractive, fine and simple style that enables the system
become more presentable. Twitter Bootstrap is also used to improve the appearance of
ii. HTML (Hyper Text Markup Language): Hyper Text Markup Language is a markup
language that web browsers use to interpret and compose text, images and other
material into visual or audible web pages. Default characteristics for every item of
HTML markup are defined in the browser, and these characteristics can be altered or
iii. JavaScript and jQuery: JavaScript allow client-side scripts to interact with the user,
control the browser, communicate asynchronously, and alter the document content that
is displayed. The most used JS library, jQuery is constructed to ease developers when
creating scripts for a web page. Some features are selection and manipulation of
iv. PHP (PHP Hyper Text Preprocessor): It provides a medium through which a web-page
records. PHP which is the major web-based technology that was used, because of how
25
flexible, dynamic, efficient and reliable it is, enables the manipulation of records from
the database.
System (RDBMS) that uses Structured Query Language (SQL). SQL is the most
popular language for adding, accessing and managing content in a database. It is most
noted for its quick processing, proven reliability, ease and flexibility of use.
SOURCE CODE
<?php
include("php/dbconnect.php");
$error = '';
if(isset($_POST['login']))
{
$username = mysqli_real_escape_string($conn,trim($_POST['username']));
$password = mysqli_real_escape_string($conn,$_POST['password']);
26
if($username=='' || $password=='')
{
$error='All fields are required';
}
$q = $conn->query($sql);
if($q->num_rows==1)
{
$res = $q->fetch_assoc();
$_SESSION['rainbow_username']=$res['username'];
$_SESSION['rainbow_uid']=$res['id'];
$_SESSION['rainbow_name']=$res['name'];
echo '<script type="text/javascript">window.location="index.php"; </script>';
}else
{
$error = 'Invalid Username or Password';
}
?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>School Fees Payment System</title>
</head>
<body >
<div class="container">
27
<div class="panel-body" style="background-color:
#E2E2E2; margin-top:50px; border:solid 3px #0e0e0e;">
<h3 class="myhead">School Fees Payment
System</h3>
<form role="form" action="login.php"
method="post">
<hr />
<?php
if($error!='')
{
echo '<h5 class="text-danger text-
center">'.$error.'</h5>';
}
?>
<div class="form-group">
<span class="pull-right">
<a href="index.html" >Forget
password ? </a>
</span>
</div>
</form>
</div>
</div>
</div>
</div>
</body>
</html>
This provides an interface that restrict an unauthorized user from accessing the application, its
objective is to validate and authenticate a user before granting access to him/her based on
28
his/her access level (i.e. Student or Administrator) so as to access different aspect of the
application, depending on their privileges defined by the application. It also allows new
students that have being created by the administrator to register and use the application.
SOURCE CODE
<?php
include("php/dbconnect.php");
include("php/checklogin.php");
?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>School Fees Payment System</title>
29
<link href="css/bootstrap.css" rel="stylesheet" />
<!-- FONTAWESOME STYLES-->
<link href="css/font-awesome.css" rel="stylesheet" />
<!--CUSTOM BASIC STYLES-->
<link href="css/basic.css" rel="stylesheet" />
<!--CUSTOM MAIN STYLES-->
<link href="css/custom.css" rel="stylesheet" />
<!-- GOOGLE FONTS-->
<link href='http://fonts.googleapis.com/css?family=Open+Sans'
rel='stylesheet' type='text/css' />
</head>
<?php
include("php/header.php");
?>
<div id="page-wrapper">
<div id="page-inner">
<div class="row">
<div class="col-md-12">
<h1 class="page-head-line">DASHBOARD</h1>
<h2 style="text-align:center;"> Welcome to
<strong>School Fees Payment System</strong> </h2>
</div>
</div>
<!-- /. ROW -->
<div class="row">
<div class="col-md-4">
<div class="main-box mb-pink">
<a href="student.php">
<i class="fa fa-users fa-5x"></i>
<h5>Students</h5>
</a>
</div>
</div>
<div class="col-md-4">
<div class="main-box mb-dull">
<a href="fees.php">
<i class="fa fa-usd fa-5x"></i>
<h5>Take Fees</h5>
</a>
</div>
</div>
<div class="col-md-4">
<div class="main-box mb-red">
<a href="report.php">
<i class="fa fa-file-text fa-5x"></i>
<h5>Report</h5>
</a>
</div>
30
</div>
</div>
<!-- /. ROW -->
</div>
<!-- /. PAGE INNER -->
</div>
<!-- /. PAGE WRAPPER -->
</div>
<!-- /. WRAPPER -->
<div id="footer-sec">
School Fees Payment System | Brought To You By : <a href="#"
target="_blank">Code-Projects</a>
</div>
<script src="js/jquery-1.10.2.js"></script>
<!-- BOOTSTRAP SCRIPTS -->
<script src="js/bootstrap.js"></script>
<!-- METISMENU SCRIPTS -->
<script src="js/jquery.metisMenu.js"></script>
<!-- CUSTOM SCRIPTS -->
<script src="js/custom1.js"></script>
</body>
</html>
This page provides all the functionalities a supervisor can perform i.e. create student record;
select campus, update school fees and report, show students and accommodation.
31
Fig. 4.3 Student Payments: Showing the list of Student’s payment details
SOURCE CODE
<?php
include("php/dbconnect.php");
include("php/checklogin.php");
$errormsg = '';
$action = "add";
$id="";
$emailid='';
$sname='';
$joindate = '';
$remark='';
$contact='';
$balance = 0;
$fees='';
$about = '';
$branch='';
if(isset($_POST['save']))
{
$sname = mysqli_real_escape_string($conn,$_POST['sname']);
$joindate = mysqli_real_escape_string($conn,$_POST['joindate']);
$contact = mysqli_real_escape_string($conn,$_POST['contact']);
$about = mysqli_real_escape_string($conn,$_POST['about']);
$emailid = mysqli_real_escape_string($conn,$_POST['emailid']);
$branch = mysqli_real_escape_string($conn,$_POST['branch']);
if($_POST['action']=="add")
{
$remark = mysqli_real_escape_string($conn,$_POST['remark']);
$fees = mysqli_real_escape_string($conn,$_POST['fees']);
32
$advancefees = mysqli_real_escape_string($conn,$_POST['advancefees']);
$balance = $fees-$advancefees;
$sid = $conn->insert_id;
echo '<script
type="text/javascript">window.location="student.php?act=1";</script>';
}else
if($_POST['action']=="update")
{
$id = mysqli_real_escape_string($conn,$_POST['id']);
$sql = $conn->query("UPDATE student SET branch = '$branch', address =
'$address', detail = '$detail' WHERE id = '$id'");
echo '<script
type="text/javascript">window.location="student.php?act=2";</script>';
}
$action = "add";
if(isset($_GET['action']) && $_GET['action']=="edit" ){
$id = isset($_GET['id'])?mysqli_real_escape_string($conn,$_GET['id']):'';
33
{
$errormsg = "<div class='alert alert-success'> <a href='#' class='close' data-
dismiss='alert' aria-label='close'>×</a><strong>Success!</strong> Student Add
successfully</div>";
}else if(isset($_REQUEST['act']) && @$_REQUEST['act']=="2")
{
$errormsg = "<div class='alert alert-success'><a href='#' class='close' data-
dismiss='alert' aria-label='close'>×</a> <strong>Success!</strong> Student
Edit successfully</div>";
}
else if(isset($_REQUEST['act']) && @$_REQUEST['act']=="3")
{
$errormsg = "<div class='alert alert-success'><a href='#' class='close' data-
dismiss='alert' aria-label='close'>×</a><strong>Success!</strong> Student
Delete successfully</div>";
}
?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>School Fees Payment System</title>
<script src="js/jquery-1.10.2.js"></script>
</head>
<?php
include("php/header.php");
?>
<div id="page-wrapper">
<div id="page-inner">
<div class="row">
<div class="col-md-12">
<h1 class="page-head-line">Students
<?php
echo (isset($_GET['action']) && @$_GET['action']=="add" ||
@$_GET['action']=="edit")?
' <a href="student.php" class="btn btn-primary btn-sm pull-
right">Back <i class="glyphicon glyphicon-arrow-right"></i></a>':'<a
34
href="student.php?action=add" class="btn btn-primary btn-sm pull-right"><i
class="glyphicon glyphicon-plus"></i> Add </a>';
?>
</h1>
<?php
echo $errormsg;
?>
</div>
</div>
<?php
if(isset($_GET['action']) && @$_GET['action']=="add" ||
@$_GET['action']=="edit")
{
?>
<script type="text/javascript"
src="js/validation/jquery.validate.min.js"></script>
<div class="row">
<div class="form-group">
<label class="col-sm-2 control-label"
for="Old">Branch* </label>
<div class="col-sm-10">
<select class="form-control" id="branch"
name="branch" >
<option value="" >Select Branch</option>
<?php
35
$sql = "select * from branch where
delete_status='0' order by branch.branch asc";
$q = $conn->query($sql);
while($r = $q->fetch_assoc())
{
echo '<option value="'.$r['id'].'" '.
(($branch==$r['id'])?'selected="selected"':'').'>'.$r['branch'].'</option>';
}
?>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label" for="Old">DOJ*
</label>
<div class="col-sm-10">
<input type="text" class="form-control"
id="joindate" name="joindate" value="<?php echo ($joindate!='')?date("Y-m-d",
strtotime($joindate)):'';?>" style="background-color: #fff;" readonly />
</div>
</div>
</fieldset>
<?php
if($action=="add")
{
?>
<div class="form-group">
<label class="col-sm-2 control-label"
for="Old">Advance Fee* </label>
<div class="col-sm-10">
<input type="text" class="form-control"
id="advancefees" name="advancefees" readonly />
</div>
</div>
<?php
}
?>
<div class="form-group">
<label class="col-sm-2 control-label"
for="Old">Balance </label>
<div class="col-sm-10">
36
<input type="text" class="form-control"
id="balance" name="balance" value="<?php echo $balance;?>" disabled />
</div>
</div>
<?php
if($action=="add")
{
?>
<div class="form-group">
<label class="col-sm-2 control-label"
for="Password">Fee Remark </label>
<div class="col-sm-10">
<textarea class="form-control" id="remark"
name="remark"><?php echo $remark;?></textarea >
</div>
</div>
<?php
}
?>
</fieldset>
<div class="form-group">
<label class="col-sm-2 control-label"
for="Old">Email Id </label>
<div class="col-sm-10">
<div class="form-group">
<div class="col-sm-8 col-sm-offset-2">
<input type="hidden" name="id" value="<?php echo
$id;?>">
<input type="hidden" name="action" value="<?php echo
$action;?>">
37
</div>
</div>
</div>
</form>
</div>
</div>
</div>
<script type="text/javascript">
$( "#joindate" ).datepicker({
dateFormat:"yy-mm-dd",
changeMonth: true,
changeYear: true,
yearRange: "1970:<?php echo date('Y');?>"
});
if($("#signupForm1").length > 0)
{
<?php if($action=='add')
{
?>
$( "#signupForm1" ).validate( {
rules: {
sname: "required",
joindate: "required",
emailid: "email",
branch: "required",
contact: {
required: true,
digits: true
},
fees: {
required: true,
digits: true
},
advancefees: {
required: true,
38
digits: true
},
},
<?php
}else
{
?>
$( "#signupForm1" ).validate( {
rules: {
sname: "required",
joindate: "required",
emailid: "email",
branch: "required",
contact: {
required: true,
digits: true
}
},
<?php
}
?>
errorElement: "em",
errorPlacement: function ( error, element ) {
// Add the `help-block` class to the error element
error.addClass( "help-block" );
// Add the span element, if doesn't exists, and apply the icon
classes to it.
if ( !element.next( "span" )[ 0 ] ) {
$( "<span class='glyphicon glyphicon-remove form-control-
feedback'></span>" ).insertAfter( element );
}
},
success: function ( label, element ) {
// Add the span element, if doesn't exists, and apply the icon
classes to it.
if ( !$( element ).next( "span" )[ 0 ] ) {
$( "<span class='glyphicon glyphicon-ok form-control-
feedback'></span>" ).insertAfter( $( element ) );
}
},
39
highlight: function ( element, errorClass, validClass ) {
$( element ).parents( ".col-sm-10" ).addClass( "has-
error" ).removeClass( "has-success" );
$( element ).next( "span" ).addClass( "glyphicon-
remove" ).removeClass( "glyphicon-ok" );
},
unhighlight: function ( element, errorClass, validClass ) {
$( element ).parents( ".col-sm-10" ).addClass( "has-
success" ).removeClass( "has-error" );
$( element ).next( "span" ).addClass( "glyphicon-
ok" ).removeClass( "glyphicon-remove" );
}
} );
} );
$("#fees").keyup( function(){
$("#advancefees").val("");
$("#balance").val(0);
var fee = $.trim($(this).val());
if( fee!='' && !isNaN(fee))
{
$("#advancefees").removeAttr("readonly");
$("#balance").val(fee);
$('#advancefees').rules("add", {
max: parseInt(fee)
});
}
else{
$("#advancefees").attr("readonly","readonly");
}
});
$("#advancefees").keyup( function(){
}
else{
$("#balance").val(totalfee);
}
});
</script>
40
<?php
}else{
?>
<a href="student.php?action=edit&id='.
$r['id'].'" class="btn btn-success btn-xs"><span class="glyphicon glyphicon-
edit"></span></a>
</tr>';
$i++;
41
}
?>
</tbody>
</table>
</div>
</div>
</div>
<script src="js/dataTable/jquery.dataTables.min.js"></script>
<script>
$(document).ready(function () {
$('#tSortable22').dataTable({
"bPaginate": true,
"bLengthChange": true,
"bFilter": true,
"bInfo": false,
"bAutoWidth": true });
});
</script>
<?php
}
?>
</div>
<!-- /. PAGE INNER -->
</div>
<!-- /. PAGE WRAPPER -->
</div>
<!-- /. WRAPPER -->
<div id="footer-sec">
School Fees Payment System | Brought To You By : <a href="#"
target="_blank">Code-Projects</a>
</div>
</body>
</html>
42
Fig. 4.4 Student Fee Report: Viewing the Student Payment Details
SOURCE CODE
<?php
include("php/dbconnect.php");
include("php/checklogin.php");
$errormsg= '';
if(isset($_POST['save']))
{
$paid = mysqli_real_escape_string($conn,$_POST['paid']);
$submitdate = mysqli_real_escape_string($conn,$_POST['submitdate']);
$transcation_remark = mysqli_real_escape_string($conn,$_POST['transcation_remark']);
$sid = mysqli_real_escape_string($conn,$_POST['sid']);
43
echo '<script type="text/javascript">window.location="fees.php?act=1";</script>';
}
}
?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>School Fees Payment System</title>
<script src="js/jquery-1.10.2.js"></script>
<script type='text/javascript' src='js/jquery/jquery-ui-
1.10.1.custom.min.js'></script>
<script type="text/javascript"
src="js/validation/jquery.validate.min.js"></script>
<script src="js/dataTable/jquery.dataTables.min.js"></script>
</head>
<?php
include("php/header.php");
?>
<div id="page-wrapper">
<div id="page-inner">
<div class="row">
<div class="col-md-12">
<h1 class="page-head-line">Fees
</h1>
</div>
</div>
44
<?php
echo $errormsg;
?>
<div class="form-group">
<label for="email"> Date Of Joining </label>
<input type="text" class="form-control" id="doj" name="doj" >
</div>
<div class="form-group">
<label for="email"> Branch </label>
<select class="form-control" id="branch" name="branch" >
<option value="" >Select Branch</option>
<?php
$sql = "select * from branch where delete_status='0' order by
branch.branch asc";
$q = $conn->query($sql);
while($r = $q->fetch_assoc())
{
echo '<option value="'.$r['id'].'" '.
(($branch==$r['id'])?'selected="selected"':'').'>'.$r['branch'].'</option>';
}
?>
</select>
</div>
</div>
</div>
<script type="text/javascript">
$(document).ready( function() {
/*
$('#doj').datepicker( {
changeMonth: true,
changeYear: true,
showButtonPanel: false,
dateFormat: 'mm/yy',
onClose: function(dateText, inst) {
45
$(this).datepicker('setDate', new Date(inst.selectedYear,
inst.selectedMonth, 1));
}
});
*/
/******************/
$("#doj").datepicker({
changeMonth: true,
changeYear: true,
showButtonPanel: true,
dateFormat: 'mm/yy',
onClose: function(dateText, inst) {
var month = $("#ui-datepicker-div .ui-datepicker-
month :selected").val();
var year = $("#ui-datepicker-div .ui-datepicker-year :selected").val();
$(this).val($.datepicker.formatDate('MM yy', new Date(year, month, 1)));
}
});
$("#doj").focus(function () {
$(".ui-datepicker-calendar").hide();
$("#ui-datepicker-div").position({
my: "center top",
at: "center bottom",
of: $(this)
});
});
/*****************/
$('#student').autocomplete({
source: function( request, response ) {
$.ajax({
url : 'ajx.php',
dataType: "json",
data: {
name_startsWith: request.term,
type: 'studentname'
},
success: function( data ) {
return {
label: item,
value: item
}
}));
}
});
}
/*,
autoFocus: true,
minLength: 0,
select: function( event, ui ) {
46
var abc = ui.item.label.split("-");
//alert(abc[0]);
$("#student").val(abc[0]);
return false;
},
*/
});
$('#find').click(function () {
mydatatable();
});
$('#clear').click(function () {
$('#searchform')[0].reset();
mydatatable();
});
function mydatatable()
{
$("#tSortable22").dataTable({
'sPaginationType' : 'full_numbers',
"bLengthChange": false,
"bFilter": false,
"bInfo": false,
'bProcessing' : true,
'bServerSide': true,
'sAjaxSource': "datatable.php?"+$('#searchform').serialize()
+"&type=feesearch",
'aoColumnDefs': [{
'bSortable': false,
'aTargets': [-1] /* 1st one, start by the right
*/
}]
});
////////////////////////////
$("#tSortable22").dataTable({
'sPaginationType' : 'full_numbers',
"bLengthChange": false,
"bFilter": false,
"bInfo": false,
'bProcessing' : true,
'bServerSide': true,
47
'sAjaxSource': "datatable.php?type=feesearch",
'aoColumnDefs': [{
'bSortable': false,
'aTargets': [-1] /* 1st one, start by the right */
}]
});
///////////////////////////
});
function GetFeeForm(sid)
{
$.ajax({
type: 'post',
url: 'getfeeform.php',
data: {student:sid,req:'1'},
success: function (data) {
$('#formcontent').html(data);
$("#myModal").modal({backdrop: "static"});
}
});
</script>
<style>
#doj .ui-datepicker-calendar
{
display:none;
}
</style>
<th>Name/Contact</th>
<th>Fees</th>
<th>Balance</th>
<th>Branch</th>
<th>DOJ</th>
48
<th>Action</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</div>
</div>
<!-------->
</div>
<div class="modal-footer">
<button type="button" class="btn btn-danger"
data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
<!--------->
</div>
<!-- /. PAGE INNER -->
</div>
<!-- /. PAGE WRAPPER -->
</div>
<!-- /. WRAPPER -->
<div id="footer-sec">
School Fees Payment System | Brought To You By : <a href="#"
target="_blank">Code-Projects</a>
</div>
</body>
</html>
49
4.2.5 Deposit Page
This page provides the basic functionality of the bank staff i.e. allows a student to pay into
his/her account. The payment is confirmed by the bank staff. This page provides a way for
This list
SOURCE CODE
<?php
include("php/dbconnect.php");
$sid = (isset($_POST['student']))?mysqli_real_escape_string($conn,
$_POST['student']):'';
50
{
$res = $q->fetch_assoc();
echo ' <form class="form-horizontal" id ="signupForm1" action="fees.php"
method="post">
<div class="form-group">
<label class="control-label col-sm-2" for="email">Name:</label>
<div class="col-sm-10">
<input type="text" class="form-control" disabled value="'.$res['sname'].'" >
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2" for="email">Contact:</label>
<div class="col-sm-10">
<input type="text" class="form-control" disabled value="'.
$res['contact'].'" />
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2" for="email">Total Fee:</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="totalfee" id="totalfee"
value="'.$res['fees'].'" disabled />
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2" for="email">Balance:</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="balance" id="balance" value="'.
$res['balance'].'" disabled />
<input type="hidden" value="'.$res['id'].'" name="sid">
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2" for="email">Paid:</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="paid" id="paid" />
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2" for="email">Date:</label>
<div class="col-sm-10">
<div class="form-group">
<label class="control-label col-sm-2" for="email">Remark:</label>
<div class="col-sm-10">
51
<textarea class="form-control" name="transcation_remark"
id="transcation_remark"></textarea>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-primary" name="save">Save</button>
</div>
</div>
</form>
<script type="text/javascript">
$(document).ready( function() {
$("#submitdate").datepicker( {
changeMonth: true,
changeYear: true,
dateFormat: "yy-mm-dd",
});
///////////////////////////
$( "#signupForm1" ).validate( {
rules: {
submitdate: "required",
paid: {
required: true,
digits: true,
max:'.$res['balance'].'
}
},
errorElement: "em",
errorPlacement: function ( error, element ) {
// Add the `help-block` class to the error element
error.addClass( "help-block" );
if ( !element.next( "span" )[ 0 ] ) {
$( "<span class=\'glyphicon glyphicon-remove
form-control-feedback\'></span>" ).insertAfter( element );
}
52
},
success: function ( label, element ) {
if ( !$( element ).next( "span" )[ 0 ] ) {
$( "<span class=\'glyphicon glyphicon-ok
form-control-feedback\'></span>" ).insertAfter( $( element ) );
}
},
highlight: function ( element, errorClass, validClass ) {
$( element ).parents( ".col-sm-10" ).addClass( "has-
error" ).removeClass( "has-success" );
$( element ).next( "span" ).addClass( "glyphicon-
remove" ).removeClass( "glyphicon-ok" );
},
unhighlight: function ( element, errorClass, validClass ) {
$( element ).parents( ".col-sm-10" ).addClass( "has-
success" ).removeClass( "has-error" );
$( element ).next( "span" ).addClass( "glyphicon-
ok" ).removeClass( "glyphicon-remove" );
}
} );
//////////////////////////
});
</script>
';
}else
{
echo "Something Goes Wrong! Try After sometime.";
}
}
$sid = (isset($_POST['student']))?mysqli_real_escape_string($conn,
$_POST['student']):'';
$sql = "select paid,submitdate,transcation_remark from fees_transaction where
stdid='".$sid."'";
$fq = $conn->query($sql);
if($fq->num_rows>0)
{
$sql = "select s.id,s.sname,s.balance,s.fees,s.contact,b.branch,s.joindate from
student as s,branch as b where b.id=s.branch and s.id='".$sid."'";
$sq = $conn->query($sql);
$sr = $sq->fetch_assoc();
echo '
<h4>Student Info</h4>
<div class="table-responsive">
<table class="table table-bordered">
<tr>
<th>Name</th>
<td>'.$sr['sname'].'</td>
<th>Branch</th>
<td>'.$sr['branch'].'</td>
</tr>
53
<tr>
<th>Contact</th>
<td>'.$sr['contact'].'</td>
<th>Joining Date</th>
<td>'.date("d-m-Y", strtotime($sr['joindate'])).'</td>
</tr>
</table>
</div>
';
echo '
<h4>Fee Info</h4>
<div class="table-responsive">
<table class="table table-bordered">
<thead>
<tr>
<th>Date</th>
<th>Paid</th>
<th>Remark</th>
</tr>
</thead>
<tbody>';
$totapaid = 0;
while($res = $fq->fetch_assoc())
{
$totapaid+=$res['paid'];
echo '<tr>
<td>'.date("d-m-Y", strtotime($res['submitdate'])).'</td>
<td>'.$res['paid'].'</td>
<td>'.$res['transcation_remark'].'</td>
</tr>' ;
}
echo '
</tbody>
</table>
</div>
<tr>
<th>Total Paid:
</th>
<td>'.$totapaid.'
</td>
</tr>
<tr>
<th>Balance:
</th>
<td>'.$sr['balance'].'
</td>
</tr>
</table>
';
54
else
{
echo 'No fees submit.';
}
}
?>
SOURCE CODE
<?php
include("php/dbconnect.php");
include("php/checklogin.php");
$error = '';
if(isset($_POST['save']))
{
$oldpassword = mysqli_real_escape_string($conn,$_POST['oldpassword']);
$newpassword = mysqli_real_escape_string($conn,$_POST['newpassword']);
$sql = "select * from user where id= '".$_SESSION['rainbow_uid']."' and
password='".md5($oldpassword )."'";
$q = $conn->query($sql);
if($q->num_rows>0)
{
55
}
?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>School Fees Payment System</title>
<script src="js/jquery-1.10.2.js"></script>
<script type="text/javascript"
src="js/validation/jquery.validate.min.js"></script>
</head>
<?php
include("php/header.php");
?>
<div id="page-wrapper">
<div id="page-inner">
<div class="row">
<div class="col-md-12">
<h1 class="page-head-line">Setting</h1>
<?php
if(isset($_REQUEST['act']) && @$_REQUEST['act']=='1')
{
echo '<div class="alert alert-success">
<a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>
<strong>Success!</strong> Password Change Successfully.
</div>';
}
echo $error;
?>
</div>
</div>
<!-- /. ROW -->
<div class="row">
56
<form action="setting.php" method="post" id="signupForm1"
class="form-horizontal">
<div class="panel-body">
<div class="form-group">
<label class="col-sm-4 control-label" for="Old">Old
Password</label>
<div class="col-sm-5">
<input type="password" class="form-control"
id="oldpassword" name="oldpassword" />
</div>
</div>
<div class="form-group">
<label class="col-sm-4 control-label"
for="Password"> New Password</label>
<div class="col-sm-5">
<input class="form-control" name="newpassword"
id="newpassword" type="password">
</div>
</div>
<div class="form-group">
<label class="col-sm-4 control-label"
for="Confirm">Confirm Password</label>
<div class="col-sm-5">
<input class="form-control"
name="confirmpassword" type="password">
</div>
</div>
<div class="form-group">
<div class="col-sm-9 col-sm-offset-4">
<button type="submit" name="save" class="btn
btn-primary">Save </button>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
<!-- /. ROW -->
</div>
<!-- /. PAGE INNER -->
</div>
57
<!-- /. PAGE WRAPPER -->
</div>
<!-- /. WRAPPER -->
<div id="footer-sec">
Rainbow English Classes | Developed By : <a href="http://www.codexking.com/"
target="_blank">Codexking.com</a>
</div>
<script type="text/javascript">
$( "#signupForm1" ).validate( {
rules: {
oldpassword: "required",
newpassword: {
required: true,
minlength: 6
},
confirmpassword: {
required: true,
minlength: 6,
equalTo: "#newpassword"
}
},
messages: {
oldpassword: "Please enter your old password",
newpassword: {
required: "Please provide a password",
minlength: "Your password must be at least 6 characters
long"
},
confirmpassword: {
required: "Please provide a password",
minlength: "Your password must be at least 6 characters
long",
equalTo: "Please enter the same password as above"
}
},
errorElement: "em",
errorPlacement: function ( error, element ) {
// Add the `help-block` class to the error element
error.addClass( "help-block" );
58
if ( element.prop( "type" ) === "checkbox" ) {
error.insertAfter( element.parent( "label" ) );
} else {
error.insertAfter( element );
}
// Add the span element, if doesn't exists, and apply the icon
classes to it.
if ( !element.next( "span" )[ 0 ] ) {
$( "<span class='glyphicon glyphicon-remove form-control-
feedback'></span>" ).insertAfter( element );
}
},
success: function ( label, element ) {
// Add the span element, if doesn't exists, and apply the icon
classes to it.
if ( !$( element ).next( "span" )[ 0 ] ) {
$( "<span class='glyphicon glyphicon-ok form-control-
feedback'></span>" ).insertAfter( $( element ) );
}
},
highlight: function ( element, errorClass, validClass ) {
$( element ).parents( ".col-sm-5" ).addClass( "has-
error" ).removeClass( "has-success" );
$( element ).next( "span" ).addClass( "glyphicon-
remove" ).removeClass( "glyphicon-ok" );
},
unhighlight: function ( element, errorClass, validClass ) {
$( element ).parents( ".col-sm-5" ).addClass( "has-
success" ).removeClass( "has-error" );
$( element ).next( "span" ).addClass( "glyphicon-
ok" ).removeClass( "glyphicon-remove" );
}
} );
} );
</script>
</body>
</html>
Fig 4.10 School Fees Payment Page: Before a student pays his/her school fees
59
Fig 4.11 School Fees Payment Page: After a student generate his/her school fees invoice
successfully
SOURCE CODE
<?php
include("php/dbconnect.php");
include("php/checklogin.php");
$errormsg = '';
$action = "add";
$id="";
$emailid='';
$sname='';
$joindate = '';
$remark='';
$contact='';
$balance = 0;
$fees='';
$about = '';
$branch='';
if(isset($_POST['save']))
60
{
$sname = mysqli_real_escape_string($conn,$_POST['sname']);
$joindate = mysqli_real_escape_string($conn,$_POST['joindate']);
$contact = mysqli_real_escape_string($conn,$_POST['contact']);
$about = mysqli_real_escape_string($conn,$_POST['about']);
$emailid = mysqli_real_escape_string($conn,$_POST['emailid']);
$branch = mysqli_real_escape_string($conn,$_POST['branch']);
if($_POST['action']=="add")
{
$remark = mysqli_real_escape_string($conn,$_POST['remark']);
$fees = mysqli_real_escape_string($conn,$_POST['fees']);
$advancefees = mysqli_real_escape_string($conn,$_POST['advancefees']);
$balance = $fees-$advancefees;
$sid = $conn->insert_id;
echo '<script
type="text/javascript">window.location="student.php?act=1";</script>';
}else
if($_POST['action']=="update")
{
$id = mysqli_real_escape_string($conn,$_POST['id']);
$sql = $conn->query("UPDATE student SET branch = '$branch', address =
'$address', detail = '$detail' WHERE id = '$id'");
echo '<script
type="text/javascript">window.location="student.php?act=2";</script>';
}
$action = "add";
if(isset($_GET['action']) && $_GET['action']=="edit" ){
$id = isset($_GET['id'])?mysqli_real_escape_string($conn,$_GET['id']):'';
61
$sqlEdit = $conn->query("SELECT * FROM student WHERE id='".$id."'");
if($sqlEdit->num_rows)
{
$rowsEdit = $sqlEdit->fetch_assoc();
extract($rowsEdit);
$action = "update";
}else
{
$_GET['action']="";
}
?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>School Fees Payment System</title>
<script src="js/jquery-1.10.2.js"></script>
62
</head>
<?php
include("php/header.php");
?>
<div id="page-wrapper">
<div id="page-inner">
<div class="row">
<div class="col-md-12">
<h1 class="page-head-line">Students
<?php
echo (isset($_GET['action']) && @$_GET['action']=="add" ||
@$_GET['action']=="edit")?
' <a href="student.php" class="btn btn-primary btn-sm pull-
right">Back <i class="glyphicon glyphicon-arrow-right"></i></a>':'<a
href="student.php?action=add" class="btn btn-primary btn-sm pull-right"><i
class="glyphicon glyphicon-plus"></i> Add </a>';
?>
</h1>
<?php
echo $errormsg;
?>
</div>
</div>
<?php
if(isset($_GET['action']) && @$_GET['action']=="add" ||
@$_GET['action']=="edit")
{
?>
<script type="text/javascript"
src="js/validation/jquery.validate.min.js"></script>
<div class="row">
63
<label class="col-sm-2 control-label"
for="Old">Contact* </label>
<div class="col-sm-10">
<input type="text" class="form-control"
id="contact" name="contact" value="<?php echo $contact;?>" maxlength="10" />
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label"
for="Old">Branch* </label>
<div class="col-sm-10">
<select class="form-control" id="branch"
name="branch" >
<option value="" >Select Branch</option>
<?php
$sql = "select * from branch where
delete_status='0' order by branch.branch asc";
$q = $conn->query($sql);
while($r = $q->fetch_assoc())
{
echo '<option value="'.$r['id'].'" '.
(($branch==$r['id'])?'selected="selected"':'').'>'.$r['branch'].'</option>';
}
?>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label" for="Old">DOJ*
</label>
<div class="col-sm-10">
<input type="text" class="form-control"
id="joindate" name="joindate" value="<?php echo ($joindate!='')?date("Y-m-d",
strtotime($joindate)):'';?>" style="background-color: #fff;" readonly />
</div>
</div>
</fieldset>
<?php
if($action=="add")
{
?>
<div class="form-group">
64
<label class="col-sm-2 control-label"
for="Old">Advance Fee* </label>
<div class="col-sm-10">
<input type="text" class="form-control"
id="advancefees" name="advancefees" readonly />
</div>
</div>
<?php
}
?>
<div class="form-group">
<label class="col-sm-2 control-label"
for="Old">Balance </label>
<div class="col-sm-10">
<input type="text" class="form-control"
id="balance" name="balance" value="<?php echo $balance;?>" disabled />
</div>
</div>
<?php
if($action=="add")
{
?>
<div class="form-group">
<label class="col-sm-2 control-label"
for="Password">Fee Remark </label>
<div class="col-sm-10">
<textarea class="form-control" id="remark"
name="remark"><?php echo $remark;?></textarea >
</div>
</div>
<?php
}
?>
</fieldset>
<div class="form-group">
<label class="col-sm-2 control-label"
for="Old">Email Id </label>
<div class="col-sm-10">
65
</div>
</fieldset>
<div class="form-group">
<div class="col-sm-8 col-sm-offset-2">
<input type="hidden" name="id" value="<?php echo
$id;?>">
<input type="hidden" name="action" value="<?php echo
$action;?>">
</div>
</div>
</div>
</form>
</div>
</div>
</div>
<script type="text/javascript">
$( "#joindate" ).datepicker({
dateFormat:"yy-mm-dd",
changeMonth: true,
changeYear: true,
yearRange: "1970:<?php echo date('Y');?>"
});
if($("#signupForm1").length > 0)
{
<?php if($action=='add')
{
?>
$( "#signupForm1" ).validate( {
rules: {
sname: "required",
joindate: "required",
emailid: "email",
branch: "required",
66
contact: {
required: true,
digits: true
},
fees: {
required: true,
digits: true
},
advancefees: {
required: true,
digits: true
},
},
<?php
}else
{
?>
$( "#signupForm1" ).validate( {
rules: {
sname: "required",
joindate: "required",
emailid: "email",
branch: "required",
contact: {
required: true,
digits: true
}
},
<?php
}
?>
errorElement: "em",
errorPlacement: function ( error, element ) {
// Add the `help-block` class to the error element
error.addClass( "help-block" );
// Add the span element, if doesn't exists, and apply the icon
classes to it.
67
if ( !element.next( "span" )[ 0 ] ) {
$( "<span class='glyphicon glyphicon-remove form-control-
feedback'></span>" ).insertAfter( element );
}
},
success: function ( label, element ) {
// Add the span element, if doesn't exists, and apply the icon
classes to it.
if ( !$( element ).next( "span" )[ 0 ] ) {
$( "<span class='glyphicon glyphicon-ok form-control-
feedback'></span>" ).insertAfter( $( element ) );
}
},
highlight: function ( element, errorClass, validClass ) {
$( element ).parents( ".col-sm-10" ).addClass( "has-
error" ).removeClass( "has-success" );
$( element ).next( "span" ).addClass( "glyphicon-
remove" ).removeClass( "glyphicon-ok" );
},
unhighlight: function ( element, errorClass, validClass ) {
$( element ).parents( ".col-sm-10" ).addClass( "has-
success" ).removeClass( "has-error" );
$( element ).next( "span" ).addClass( "glyphicon-
ok" ).removeClass( "glyphicon-remove" );
}
} );
} );
$("#fees").keyup( function(){
$("#advancefees").val("");
$("#balance").val(0);
var fee = $.trim($(this).val());
if( fee!='' && !isNaN(fee))
{
$("#advancefees").removeAttr("readonly");
$("#balance").val(fee);
$('#advancefees').rules("add", {
max: parseInt(fee)
});
}
else{
$("#advancefees").attr("readonly","readonly");
}
});
$("#advancefees").keyup( function(){
68
$("#balance").val(balance);
}
else{
$("#balance").val(totalfee);
}
});
</script>
<?php
}else{
?>
69
<a href="student.php?action=edit&id='.
$r['id'].'" class="btn btn-success btn-xs"><span class="glyphicon glyphicon-
edit"></span></a>
</tr>';
$i++;
}
?>
</tbody>
</table>
</div>
</div>
</div>
<script src="js/dataTable/jquery.dataTables.min.js"></script>
<script>
$(document).ready(function () {
$('#tSortable22').dataTable({
"bPaginate": true,
"bLengthChange": true,
"bFilter": true,
"bInfo": false,
"bAutoWidth": true });
});
</script>
<?php
}
?>
</div>
<!-- /. PAGE INNER -->
</div>
<!-- /. PAGE WRAPPER -->
</div>
<!-- /. WRAPPER -->
<div id="footer-sec">
School Fees Payment System | Brought To You By : <a href="#"
target="_blank">Code-Projects</a>
</div>
70
</body>
</html>
DATABASE(SQL)
-- phpMyAdmin SQL Dump
-- version 4.2.11
-- http://www.phpmyadmin.net
--
-- Host: 127.0.0.1
-- Generation Time: Jul 03, 2018 at 05:19 PM
-- Server version: 5.6.21
-- PHP Version: 5.6.3
--
-- Database: `paysystem`
--
-- --------------------------------------------------------
--
-- Table structure for table `branch`
--
--
-- Dumping data for table `branch`
--
71
-- --------------------------------------------------------
--
-- Table structure for table `fees_transaction`
--
--
-- Dumping data for table `fees_transaction`
--
-- --------------------------------------------------------
--
-- Table structure for table `student`
--
--
-- Dumping data for table `student`
--
72
(3, '[email protected]', 'John Doe', '2017-04-13 00:00:00', 'nth', '9874545454',
2500, '3', 600, '0'),
(4, '[email protected]', 'Tony Jr', '2018-07-02 00:00:00', 'TEST TEST',
'7854885214', 2500, '3', 2000, '0'),
(5, '[email protected]', 'Christine', '2018-06-02 00:00:00', 'TEST TEST',
'5454578965', 3660, '1', 2160, '0'),
(6, '[email protected]', 'Harry Den', '2018-07-03 00:00:00', 'TEST TEST',
'8467067344', 4500, '4', 4300, '0'),
(7, '[email protected]', 'Emma Gadot', '2018-03-02 00:00:00', 'TEST TEST',
'3545458520', 2200, '3', 2000, '0'),
(8, '[email protected]', 'Isabella', '2017-01-03 00:00:00', 'TEST TEST',
'8525874545', 20000, '2', 15000, '0'),
(9, '[email protected]', 'James Wan', '2018-03-02 00:00:00', 'TEST TEST',
'2565452102', 6500, '1', 4000, '0');
-- --------------------------------------------------------
--
-- Table structure for table `user`
--
CREATE TABLE IF NOT EXISTS `user` (
`id` int(255) NOT NULL,
`username` varchar(255) NOT NULL,
`password` varchar(255) NOT NULL,
`name` varchar(255) NOT NULL,
`emailid` varchar(255) NOT NULL,
`lastlogin` datetime NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;
--
-- Dumping data for table `user`
--
INSERT INTO `user` (`id`, `username`, `password`, `name`, `emailid`, `lastlogin`)
VALUES
(1, 'admin', '21232f297a57a5a743894a0e4a801fc3', 'Lewa', '[email protected]', '0000-00-
00 00:00:00');
--
-- Indexes for dumped tables
--
--
-- Indexes for table `branch`
--
ALTER TABLE `branch`
ADD PRIMARY KEY (`id`);
--
-- Indexes for table `fees_transaction`
--
ALTER TABLE `fees_transaction`
ADD PRIMARY KEY (`id`);
--
-- Indexes for table `student`
--
ALTER TABLE `student`
ADD PRIMARY KEY (`id`);
--
-- Indexes for table `user`
--
ALTER TABLE `user`
ADD PRIMARY KEY (`id`);
--
-- AUTO_INCREMENT for dumped tables
73
--
--
-- AUTO_INCREMENT for table `branch`
--
ALTER TABLE `branch`
MODIFY `id` int(255) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=6;
--
-- AUTO_INCREMENT for table `fees_transaction`
--
ALTER TABLE `fees_transaction`
MODIFY `id` int(255) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=11;
--
-- AUTO_INCREMENT for table `student`
--
ALTER TABLE `student`
MODIFY `id` int(255) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=10;
--
-- AUTO_INCREMENT for table `user`
--
ALTER TABLE `user`
MODIFY `id` int(255) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=2;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
CHAPTER FIVE
CONCLUSION
5.1 Summary
The project work covered all the basic processes involved in designing and developing a web
based portal payment system. The system is aimed to address the problems associated with the
74
current issues involved in payment of school fees at the Shaka Polytechnic, Benin City, Edo
State.
The student record is created by the administrator and only after this step can the student be
able to register to use the system. The student registers with his/her username and password
of his/her choice. The student can walk to any of the designated banks anytime during banking
hours and make deposit into his/her account. Then during registration, a student simply logs
into his/her portal and makes payment. This process is possible as far as the student has
The function the administrator can perform is to create a student record, update school fees
and record of student’s currently registered and using the application. There are forms on
different pages of the application that makes the administrator achieve these functions.
5.2 Conclusion
important aspect of our daily lives. Since the use of computers is now widespread, the
adoption of this system will make life become easier for us all.
The project sought to develop an online fees payment system that provides relief of the long
endured problems of the current modes of paying fees in Shaka Polytechnic. Problems that
students and their sponsors faced regarding paying fees to the university were identified and a
solution was designed. A web based system that enables students and their sponsors to pay
polytechnic fees was developed. This system was welcomed by all its users who believed it
would solve most of the problems and improve conditions regarding paying fees in Shak
Polytechnic. The project achieved all its objectives and as a result, APPS was designed,
75
developed, tested and validated with real users. Hence, it was proved that this online system
5.3 Recommendations
Having met the specified objective of the proposed project and after a profound evaluation of
the developed system, I will like to suggest the following recommendations for further
i Shaka Polytechnic should embrace and implement the developed system as it will
ii The Government of Nigeria should enact laws and implement policies that encourage
iii The researchers acknowledge that security is a threat to every system and therefore
iv A mobile version of the system should be created to allow user access the system from
any device other than a computer thus improving the mobility of the device.
76
REFERENCES
1. Abrazhevich, D. (2004). Electronic payment systems: A user-centered
Eindhoven.
57, 1423–1430.
Available
http://www.tutorialspoint.com/e_commerce/e_commerce_payment_systems.ht
m (September 3, 2014).
1997”
7. Harris, H., Guru, B., and Avvari, M. (2011). Evidence of firms‟ perceptions
77
8. James, A. (2009). Management Information Systems, Accounting information
10. Luke Welling, Laura Thompson, (2003). PHP and MYSQL Wed Development:
12. Shon, T. and Swatman, P.M. (1998). Identifying effectiveness criteria for
14. Taiwo Olufemi, Asaolu Tajudeen and John Ayoola., (2011) Electronic
78