0% found this document useful (0 votes)
418 views86 pages

Design and Implementation of Web Based School Fees Payment System by John Ekwugumokwu C

The document outlines a project focused on designing and implementing a web-based school fees payment system for Shaka Polytechnic in Benin City, Edo State. The system aims to automate the payment process, enhance accuracy, and eliminate issues associated with manual payment methods, such as lost receipts and delays in processing. The project utilizes technologies like PHP, MySQL, and JavaScript to create a reliable and efficient platform for managing school fees documentation.

Uploaded by

airdropbaby1820
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
418 views86 pages

Design and Implementation of Web Based School Fees Payment System by John Ekwugumokwu C

The document outlines a project focused on designing and implementing a web-based school fees payment system for Shaka Polytechnic in Benin City, Edo State. The system aims to automate the payment process, enhance accuracy, and eliminate issues associated with manual payment methods, such as lost receipts and delays in processing. The project utilizes technologies like PHP, MySQL, and JavaScript to create a reliable and efficient platform for managing school fees documentation.

Uploaded by

airdropbaby1820
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 86

DESIGN AND IMPLEMENTATION OF WEB BASED

SCHOOL FEES PAYMENT SYSTEM


(A CASE STUDY OF SHAKA POLYTECHNIC, BENIN CITY, EDO STATE)

BY

EKWUGUMOKWU JOHN CHUKWUEMEKE


MATRIC. NO: CS /H2021/R/SP/222

BEING A PROJECT SUBMITTED TO THE DEPARTMENT OF


COMPUTER SCIENCE, SHAKA POLYTECHNIC BENIN CITY,
EDO STATE IN PARTIAL FULFILLMENT OF THE
REQUIREMENTS FOR THE AWARD OF HIGHER NATIONAL
DIPLOMA IN COMPUTER SCIENCE

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

Name: --------------------------------------------------- -------------------------

Signature: ---------------------------------------------- Date

iii
ACKNOWLEDGEMENTS
First and foremost, I give thanks to God for his infinite mercy, support, guidance and his grace

that has spared my life to see the end of this program.

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

goes to all my colleagues who have patiently guided me to this stage.

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

God reward you for all your help, Thank you.

My true gratitude to all who have helped me either directly or indirectly in the completion and

success of this project, May God reward you all.

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

CHAPTER ONE: INTRODUCTION 1


1.1 Introduction 1
1.2 Background of the Study 1
1.3 Statement of the Problem 3
1.4 Motivation 4
1.5 Aims 4
1.6 Objectives 4
1.7 Scope 4
1.8 Research Methodology 5
1.9 Significance 6
1.10 Organization of the Project 6
1.11 Limitations of the Study…………………………………………………………………………...6
1.12 Definition of Terms………………………………………………………………………………...7

CHAPTER TWO: LITERATURE REVIEW 9


2.1 Introduction 9
2.2 Information Systems 9
2.3 Electronic Payment Systems 10
2.4 Card payment processing 10
2.4.1 Credit Cards....................................................................................................................11
2.4.2 Debit Cards.....................................................................................................................11
2.5 Fees Payment Systems In Nigeria 11
2.6 Existing System12
2.6.1 Problems of the Existing System...................................................................................133
2.7 Intended System 144
2.8 Web-Based Application 155

vi
2.9 Database 155
2.10 PHP 166
2.11 MySQL Database 167

CHAPTER THREE: SYSTEM DESIGN 188


3.1 System Design 18
3.2 System Description 18
3.2.1 Data Flow......................................................................................................................189
3.2.2 System Architecture.........................................................................................................20
3.2.3 Input Specification..........................................................................................................20
3.2.4 Functional Requirements................................................................................................21
3.2.5 Non Functional Requirements.........................................................................................21
3.3 Database Design 22
3.3.1 Database Schema Diagram.............................................................................................24

CHAPTER FOUR: SYSTEM DEVELOPMENT255


4.1 Choice of Tools 25
4.2 Features of the System 26
4.2.1 Login Page....................................................................................................................266
4.2.2 Administrator Page.......................................................................................................297
4.2.3 Student Page.................................................................................................................318
4.3 Student Payments: Showing the list of Student’s payment details......................................................50
4.2.6 School Fees Pages...........................................................................................................50
Fig 4.9 Password reset page…………………………………………………………………………………………..29
Fig 4.10 School Fees Payment Page: Before a student pays his/her school fees…………………………….. 30

Fig 4.11 School Fees Payment Page: After a student generate his/her school fees invoice successfully….30

CHAPTER FIVE: CONCLUSION 60


5.1 Summary 74
5.2 Conclusion 74
5.3 Recommendations 75
REFERENCES 76

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.

1.3 Statement of the Problem

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

because of lack of adequate storage medium.

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

beginning of every session.

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

problems of the existing system.

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

school fees payment records.

1.6 Objectives

The specific objectives of this project include:

i. To provide a reliable and transparent system devoid of personal inclinations and

interest

ii. To provide a system that will relieve the staff and works of the academy the stress of

searching files or data manually

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

for use and operation.

iv. The new system gives a quick access to data and modification of records if necessary.

v. To save time (fast inputting and accessing of records)

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

vii. To ensure accuracy in record keeping.

viii. To ensure safety of the documents/records, because the system will be password aided

to enhance security.

1.7 Scope of study

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).

1.8 Research Methodology

The proposed research method that would be adopted is as follows;

i. Requirement Assessment -: A thorough assessment of the current existing system will

be carried out and the requirements of the new system will be clearly defined by

interviewing some students and lecturers.

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

remote web host, ready for use.

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

school fees payment records.

1.10 Organization of the Project

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

entails the recommendation and conclusion.

1.11 Limitations of the Study

Some of the constraints those outcomes of this work include:

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

limitation of this project as it is dependent on electricity.

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

people on the internet are still using 28.8kbps modems.

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)

Databases: A systematically arranged collection of computer data, structured so that it can be

automatically retrieved or manipulated. It is also called databank. (Adoca 2001)

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,

can all be exchanged in this way. (Smith 1999)

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)

Offline: Disconnected from computer network; describes a computer terminal or peripheral

device disconnected from a computer network. (Wikipedia 2011)

System: Set of computer components that is, an assembling of hardware, software and

peripherals functioning together. (Fans 2011)

7
Automation: This is the use of control system such as computer to control and process data,

reducing the need for human intervention.

Database: This refers to a large store of related data on a computer that can be accessed and

modified by the user.

Record: is a document made or received in the course of a practical activity as an instrument

or a by-product of such activity, and set aside for action or reference.

Password: This is a secret code that a user must type into a computer to enable him access it

or its applications. This is composed of numbers, letter, special character or a combination of

any of the above categories.

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.

2.2 Information Systems

From Wikipedia, Information system (IS) is the study of complementary networks of

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

algorithmic processes within a computer science discipline.

An Information system refers to information technology and people's activities that support

operations, management and decision-making. Alternatively, an information system is the

interaction between people, processes, data and technology [13].

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

this technology in support of business processes.

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].

2.3 Electronic Payment Systems

Electronic payment system is a term to describe any exchange of funds initiated via an

electronic communication channel [5]. An e-commerce electronic payment is a financial

exchange that takes place in an online environment [6].

Electronic payment systems are summoned to facilitate the most important action after the

customer’s decision to pay for a product or service [1].

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

and smart cards-based electronic payment systems.

For the purpose of the present study, the researcher focuses on the Electronic Fund Transfer

Method which can be categorized under online electronic cash system.

2.4 Card payment processing

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

opens an account with a bank to receive payments.

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

acts as a clearing house for all credit card transactions [9].

2.4.1 Credit Cards


A credit card is a small plastic card issued to users as a method of payment for online or off-

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

world, especially in retail markets.

2.4.2 Debit Cards


One of the most widely used systems for electronic payments is the debit card; Debit cards

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,

flexibility, simplicity, ease of use, accessibility and availability.

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

institutionalize financial probity in the activities of government [12].

2.6 Existing System

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].

2.6.1 Problems of the Existing System

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

using cash for most of their transactions.

ii Banks attitudes: Some banks in Nigeria are very conservative; they use very

few innovative products and marketing techniques.

iii Lack of confidence: the security issue is one of the major challenges in the

development of-cashless policy in Nigeria.

iv Low level of internet penetration and poorly developed telecommunication impedes

smooth development and improvement in e-payments and e-commerce.

v Lack of suitable legal and regulatory framework for e-payments: Nigerian current

laws do not accommodate electronic contracts and signatures.

13
vi Inadequate banking system

vii Political and economic instabilities in neighboring countries: Political instabilities

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

possess basic ICT literacy.

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

investments costs, high costs of computers and telecommunication and licensing

requirements.

x Frequent power interruption: Lack of reliable power supply is a key challenge

for smoothly running e-payments and e-banking.

xi Lack of adequate IT expertise to help banks resolve customer issues.

2.7 Intended System


This system will provide an additional channel for fees payment to the polytechnic online and

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

institution fees online from wherever they are.

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

only to the students but to the institution management at large.

2.8 Web-Based Application

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

technology in enhancing your organizations productivity & efficiency.

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

Zend Technology is http://www.zend.com [14].

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

Amazon.com must have to hold all its information.

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

3.1 System Design


The APS (Automated Payment System) system design defines the architecture,

components/subsystems, modules, interfaces and data required of the system to satisfy

specified requirements. In system design the following tools and techniques were used;

process architectural design, data modeling and database design.

3.2 System Description

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.

3.2.1 Data Flow


A Data Flow Diagram is the sequence of path data takes at it is generated on the system. It

shows how data is processed if such data is valid and also specifies what happens when such

data is invalid.

A diagrammatic representation of the flow of data in this web application is shown

18
Success?
Home Page Regist Student Dashboard
Pay School Fees
er

Failed? Payment History


Menu
Error
Print Receipt
No?

Check Balance

Success?
Logi Is_Admi Change Password
n n

Yes?
Failed?
Admin Dashboard Create Student Record

Error Update School Fees


Menu

Show Students

Fig 3.1 Data Flow diagram for APS

3.2.2 System Architecture


APPS is a web-based application to be hosted on a web server that communicates to a

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

whenever a student deposits into his/her account.

FRONT END Security


User Interface

Authentication

Data Integrity

SYSTEM LOGIC MYSQL


User
UserInterface
Interface
User Authentication APPS
USER User Interface
Payments
Data Entry Fees Payment
(Database)

View Information

Fig 3.2 Basic Architecture for APPS

3.2.3 Input Specification


This is an interface between the user and the system that allow the user to enter data. Data

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

are based on three categories of users:

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.

3.2.4 Functional Requirements


i. The system shall accept valid input of registered students’ payment details from users

intending to pay fees online.

ii. The system shall process fees payment transactions so that student fees accounts are

credited with the specified amount in each transaction.

iii. The system shall produce a receipt as a proof of payment for every transaction made.

iv. The system shall produce a listing of transaction information to students.

v. The system shall provide feedback to the student describing the status of the

transaction.

vi. The system shall be able to generate payment reports to students.

3.2.5 Non Functional Requirements


i. The system should be easy to maintain.

ii. The system should be compatible with different platforms.

iii. The system should be fast as customers always need speed.

iv. The system should always be available online all times.

21
v. The system should be secure.

vi. The system should be accessible to online users.

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

data entry, editing, and deleting of data with much ease.

3.3 Database Design

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.

3.3.1 Database Schema Diagram


Below is a diagram showing an entity relationship diagram for the Automatic Payment Portal

System.

22
Fig 3.3 APPS Database Schema diagram

The schema in figure 3.3 comprises of various entities (tables) such as

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

name of who made the deposit etc.

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

his/her school fees.

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

SYSTEM DEVELOPMENT(WITH SOURCE CODES)


4.1 Choice of Tools

This Chapter presents the various tools that have being used in making this project a success.

It involves the use of current web technologies including:

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

the interfaces of the application program.

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

enhanced by the web page designer's additional use of CSS.

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

elements, CSS manipulation and HTML event functions.

iv. PHP (PHP Hyper Text Preprocessor): It provides a medium through which a web-page

can communicate with the database in retrieving, adding/modifying and deleting

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.

v. MySQL: MySQL is a freely available open source Relational Database Management

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.

4.2 Features of the System

Fig 4.1: Home Page (index.php)

4.2.1 Login Page

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';
}

$sql = "select * from user where username='".$username."' and password =


'".md5($password)."'";

$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>

<!-- BOOTSTRAP STYLES-->


<link href="css/bootstrap.css" rel="stylesheet" />
<!-- FONTAWESOME STYLES-->
<link href="css/font-awesome.css" rel="stylesheet" />
<!-- GOOGLE FONTS-->
<link href='http://fonts.googleapis.com/css?family=Open+Sans'
rel='stylesheet' type='text/css' />
<style>
.myhead{
margin-top:0px;
margin-bottom:0px;
text-align:center;
}
</style>

</head>
<body >
<div class="container">

<div class="row ">

<div class="col-md-4 col-md-offset-4 col-sm-6 col-sm-offset-3


col-xs-10 col-xs-offset-1">

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 input-group">


<span class="input-group-addon"><i
class="fa fa-tag" ></i></span>
<input type="text" class="form-
control" placeholder="Your Username " name="username" required />
</div>

<div class="form-group input-group">


<span class="input-group-addon"><i
class="fa fa-lock" ></i></span>
<input type="password" class="form-
control" placeholder="Your Password" name="password" required />
</div>

<div class="form-group">

<span class="pull-right">
<a href="index.html" >Forget
password ? </a>
</span>
</div>

<button class="btn btn-primary" type=


"submit" name="login">Login Now</button>

</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.

Fig. 4.2: Admin Dashboard (adminDashboard.php)

4.2.2 Administrator Page

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>

<!-- BOOTSTRAP STYLES-->

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.

4.2.3 Student Page


This page provides all the functionalities a student can perform i.e. Pay school fees, check

payment history, print receipt, check balance and change password.

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;

$q1 = $conn->query("INSERT INTO student


(sname,joindate,contact,about,emailid,branch,balance,fees) VALUES
('$sname','$joindate','$contact','$about','$emailid','$branch','$balance','$fees')")
;

$sid = $conn->insert_id;

$conn->query("INSERT INTO fees_transaction


(stdid,paid,submitdate,transcation_remark) VALUES
('$sid','$advancefees','$joindate','$remark')") ;

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>';
}

if(isset($_GET['action']) && $_GET['action']=="delete"){

$conn->query("UPDATE student set delete_status = '1' WHERE id='".$_GET['id']."'");


header("location: student.php?act=3");

$action = "add";
if(isset($_GET['action']) && $_GET['action']=="edit" ){
$id = isset($_GET['id'])?mysqli_real_escape_string($conn,$_GET['id']):'';

$sqlEdit = $conn->query("SELECT * FROM student WHERE id='".$id."'");


if($sqlEdit->num_rows)
{
$rowsEdit = $sqlEdit->fetch_assoc();
extract($rowsEdit);
$action = "update";
}else
{
$_GET['action']="";
}

if(isset($_REQUEST['act']) && @$_REQUEST['act']=="1")

33
{
$errormsg = "<div class='alert alert-success'> <a href='#' class='close' data-
dismiss='alert' aria-label='close'>&times;</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'>&times;</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'>&times;</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>

<!-- BOOTSTRAP STYLES-->


<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' />

<link href="css/ui.css" rel="stylesheet" />


<link href="css/datepicker.css" rel="stylesheet" />

<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>

</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="col-sm-10 col-sm-offset-1">


<div class="panel panel-primary">
<div class="panel-heading">
<?php echo ($action=="add")? "Add Student": "Edit
Student"; ?>
</div>
<form action="student.php" method="post" id="signupForm1"
class="form-horizontal">
<div class="panel-body">
<fieldset class="scheduler-border" >
<legend class="scheduler-border">Personal
Information:</legend>
<div class="form-group">
<label class="col-sm-2 control-label"
for="Old">Name* </label>
<div class="col-sm-10">
<input type="text" class="form-control"
id="sname" name="sname" value="<?php echo $sname;?>" />
</div>
</div>
<div class="form-group">
<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

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>

<fieldset class="scheduler-border" >


<legend class="scheduler-border">Fee Information:</legend>
<div class="form-group">
<label class="col-sm-2 control-label"
for="Old">Total Fees* </label>
<div class="col-sm-10">
<input type="text" class="form-control"
id="fees" name="fees" value="<?php echo $fees;?>" <?php echo
($action=="update")?"disabled":""; ?> />
</div>
</div>

<?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>

<fieldset class="scheduler-border" >


<legend class="scheduler-border">Optional
Information:</legend>
<div class="form-group">
<label class="col-sm-2 control-label"
for="Password">About Student </label>
<div class="col-sm-10">
<textarea class="form-control" id="about"
name="about"><?php echo $about;?></textarea >
</div>
</div>

<div class="form-group">
<label class="col-sm-2 control-label"
for="Old">Email Id </label>
<div class="col-sm-10">

<input type="text" class="form-control"


id="emailid" name="emailid" value="<?php echo $emailid;?>" />
</div>
</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;?>">

<button type="submit" name="save" class="btn


btn-primary">Save </button>

37
</div>
</div>

</div>
</form>

</div>
</div>

</div>

<script type="text/javascript">

$( document ).ready( function () {

$( "#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 `has-feedback` class to the parent div.form-group


// in order to add icons to inputs
element.parents( ".col-sm-10" ).addClass( "has-feedback" );

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 ) );
}
},

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(){

var advancefees = parseInt($.trim($(this).val()));


var totalfee = parseInt($("#fees").val());
if( advancefees!='' && !isNaN(advancefees) && advancefees<=totalfee)
{
var balance = totalfee-advancefees;
$("#balance").val(balance);

}
else{
$("#balance").val(totalfee);
}

});

</script>

40
<?php
}else{
?>

<link href="css/datatable/datatable.css" rel="stylesheet" />

<div class="panel panel-default">


<div class="panel-heading">
Manage Student
</div>
<div class="panel-body">
<div class="table-sorting table-responsive">
<table class="table table-striped table-bordered
table-hover" id="tSortable22">
<thead>
<tr>
<th>#</th>
<th>Name/Contact</th>
<th>DOJ</th>
<th>Fees</th>
<th>Balance</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<?php
$sql = "select * from student where
delete_status='0'";
$q = $conn->query($sql);
$i=1;
while($r = $q->fetch_assoc())
{

echo '<tr '.


(($r['balance']>0)?'class="danger"':'').'>
<td>'.$i.'</td>
<td>'.$r['sname'].'<br/>'.
$r['contact'].'</td>
<td>'.date("d M y",
strtotime($r['joindate'])).'</td>
<td>'.$r['fees'].'</td>
<td>'.$r['balance'].'</td>
<td>

<a href="student.php?action=edit&id='.
$r['id'].'" class="btn btn-success btn-xs"><span class="glyphicon glyphicon-
edit"></span></a>

<a onclick="return confirm(\'Are you


sure you want to delete this record\');" href="student.php?action=delete&id='.
$r['id'].'" class="btn btn-danger btn-xs"><span class="glyphicon glyphicon-
remove"></span></a> </td>

</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>

<!-- 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>

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']);

$sql = "select fees,balance from student where id = '$sid'";


$sq = $conn->query($sql);
$sr = $sq->fetch_assoc();
$totalfee = $sr['fees'];
if($sr['balance']>0)
{
$sql = "insert into fees_transaction(stdid,submitdate,transcation_remark,paid)
values('$sid','$submitdate','$transcation_remark','$paid') ";
$conn->query($sql);
$sql = "SELECT sum(paid) as totalpaid FROM fees_transaction WHERE stdid = '$sid'";
$tpq = $conn->query($sql);
$tpr = $tpq->fetch_assoc();
$totalpaid = $tpr['totalpaid'];
$tbalance = $totalfee - $totalpaid;

$sql = "update student set balance='$tbalance' where id = '$sid'";


$conn->query($sql);

43
echo '<script type="text/javascript">window.location="fees.php?act=1";</script>';
}
}

if(isset($_REQUEST['act']) && @$_REQUEST['act']=="1")


{
$errormsg = "<div class='alert alert-success'><a href='#' class='close' data-
dismiss='alert' aria-label='close'>&times;</a><strong>Success!</strong> Fees submit
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>

<!-- BOOTSTRAP STYLES-->


<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' />

<link href="css/ui.css" rel="stylesheet" />


<link href="css/jquery-ui-1.10.3.custom.min.css" rel="stylesheet" />
<link href="css/datepicker.css" rel="stylesheet" />
<link href="css/datatable/datatable.css" rel="stylesheet" />

<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="row" style="margin-bottom:20px;">


<div class="col-md-12">
<fieldset class="scheduler-border" >
<legend class="scheduler-border">Search:</legend>
<form class="form-inline" role="form" id="searchform">
<div class="form-group">
<label for="email">Name</label>
<input type="text" class="form-control" id="student" name="student">
</div>

<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>

<button type="button" class="btn btn-success btn-sm" id="find" > Find </button>


<button type="reset" class="btn btn-danger btn-sm" id="clear" > Clear </button>
</form>
</fieldset>

</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 ) {

response( $.map( data, function( item ) {

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()
{

$("#subjectresult").html('<table class="table table-striped table-


bordered table-hover"
id="tSortable22"><thead><tr><th>Name/Contact</th><th>Fees</th><th>Balance</
th><th>Branch</th><th>DOJ</th><th>Action</th></tr></thead><tbody></tbody></table>');

$("#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>

<div class="panel panel-default">


<div class="panel-heading">
Manage Fees
</div>
<div class="panel-body">
<div class="table-sorting table-responsive"
id="subjectresult">
<table class="table table-striped table-bordered
table-hover" id="tSortable22">
<thead>
<tr>

<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>

<!-------->

<!-- Modal -->


<div class="modal fade" id="myModal" role="dialog">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">Take Fee</h4>
</div>
<div class="modal-body" id="formcontent">

</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>

<!-- 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>

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

students to credit their accounts anytime.

4.8 School Fees Page List of Students

This list

shows a summary of students’ details and payment report

SOURCE CODE

<?php
include("php/dbconnect.php");

if(isset($_POST['req']) && $_POST['req']=='1')


{

$sid = (isset($_POST['student']))?mysqli_real_escape_string($conn,
$_POST['student']):'';

$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.delete_status='0' and s.id='".
$sid."'";
$q = $conn->query($sql);
if($q->num_rows>0)

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">

<input type="text" class="form-control" name="submitdate" id="submitdate"


style="background:#fff;" readonly />
</div>
</div>

<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" );

// Add `has-feedback` class to the parent div.form-group


// in order to add icons to inputs
element.parents( ".col-sm-10" ).addClass( "has-feedback" );

if ( element.prop( "type" ) === "checkbox" ) {


error.insertAfter( element.parent( "label" ) );
} else {
error.insertAfter( element );
}

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.";
}
}

if(isset($_POST['req']) && $_POST['req']=='2')


{

$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>

<table style="width:150px;" >


<tr>
<th>Total Fees:
</th>
<td>'.$sr['fees'].'
</td>
</tr>

<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.';
}
}

?>

Fig 4.9 Password reset page

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)
{

$sql = "update user set password = '".md5($newpassword)."' WHERE id = '".


$_SESSION['rainbow_uid']."'";
$r = $conn->query($sql);
echo '<script type="text/javascript">window.location="setting.php?act=1";
</script>';
}else
{
$error = '<div class="alert alert-danger">
<a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a>
<strong>Error!</strong> Wrong old password
</div>';

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>

<!-- BOOTSTRAP STYLES-->


<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' />

<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">&times;</a>
<strong>Success!</strong> Password Change Successfully.
</div>';

}
echo $error;
?>
</div>
</div>
<!-- /. ROW -->
<div class="row">

<div class="col-sm-8 col-sm-offset-2">


<div class="panel panel-primary">
<div class="panel-heading">
Change Password
</div>

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>

<!-- 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>

<script type="text/javascript">

$( document ).ready( function () {

$( "#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" );

// Add `has-feedback` class to the parent div.form-group


// in order to add icons to inputs
element.parents( ".col-sm-5" ).addClass( "has-feedback" );

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;

$q1 = $conn->query("INSERT INTO student


(sname,joindate,contact,about,emailid,branch,balance,fees) VALUES
('$sname','$joindate','$contact','$about','$emailid','$branch','$balance','$fees')"
) ;

$sid = $conn->insert_id;

$conn->query("INSERT INTO fees_transaction


(stdid,paid,submitdate,transcation_remark) VALUES
('$sid','$advancefees','$joindate','$remark')") ;

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>';
}

if(isset($_GET['action']) && $_GET['action']=="delete"){

$conn->query("UPDATE student set delete_status = '1' WHERE id='".$_GET['id']."'");


header("location: student.php?act=3");

$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']="";
}

if(isset($_REQUEST['act']) && @$_REQUEST['act']=="1")


{
$errormsg = "<div class='alert alert-success'> <a href='#' class='close' data-
dismiss='alert' aria-label='close'>&times;</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'>&times;</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'>&times;</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>

<!-- BOOTSTRAP STYLES-->


<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' />

<link href="css/ui.css" rel="stylesheet" />


<link href="css/datepicker.css" rel="stylesheet" />

<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>

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">

<div class="col-sm-10 col-sm-offset-1">


<div class="panel panel-primary">
<div class="panel-heading">
<?php echo ($action=="add")? "Add Student": "Edit
Student"; ?>
</div>
<form action="student.php" method="post" id="signupForm1"
class="form-horizontal">
<div class="panel-body">
<fieldset class="scheduler-border" >
<legend class="scheduler-border">Personal
Information:</legend>
<div class="form-group">
<label class="col-sm-2 control-label"
for="Old">Name* </label>
<div class="col-sm-10">
<input type="text" class="form-control"
id="sname" name="sname" value="<?php echo $sname;?>" />
</div>
</div>
<div class="form-group">

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>

<fieldset class="scheduler-border" >


<legend class="scheduler-border">Fee Information:</legend>
<div class="form-group">
<label class="col-sm-2 control-label"
for="Old">Total Fees* </label>
<div class="col-sm-10">
<input type="text" class="form-control"
id="fees" name="fees" value="<?php echo $fees;?>" <?php echo
($action=="update")?"disabled":""; ?> />
</div>
</div>

<?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>

<fieldset class="scheduler-border" >


<legend class="scheduler-border">Optional
Information:</legend>
<div class="form-group">
<label class="col-sm-2 control-label"
for="Password">About Student </label>
<div class="col-sm-10">
<textarea class="form-control" id="about"
name="about"><?php echo $about;?></textarea >
</div>
</div>

<div class="form-group">
<label class="col-sm-2 control-label"
for="Old">Email Id </label>
<div class="col-sm-10">

<input type="text" class="form-control"


id="emailid" name="emailid" value="<?php echo $emailid;?>" />
</div>

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;?>">

<button type="submit" name="save" class="btn


btn-primary">Save </button>

</div>
</div>

</div>
</form>

</div>
</div>

</div>

<script type="text/javascript">

$( document ).ready( function () {

$( "#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 `has-feedback` class to the parent div.form-group


// in order to add icons to inputs
element.parents( ".col-sm-10" ).addClass( "has-feedback" );

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.

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(){

var advancefees = parseInt($.trim($(this).val()));


var totalfee = parseInt($("#fees").val());
if( advancefees!='' && !isNaN(advancefees) && advancefees<=totalfee)
{
var balance = totalfee-advancefees;

68
$("#balance").val(balance);

}
else{
$("#balance").val(totalfee);
}

});

</script>

<?php
}else{
?>

<link href="css/datatable/datatable.css" rel="stylesheet" />

<div class="panel panel-default">


<div class="panel-heading">
Manage Student
</div>
<div class="panel-body">
<div class="table-sorting table-responsive">
<table class="table table-striped table-bordered
table-hover" id="tSortable22">
<thead>
<tr>
<th>#</th>
<th>Name/Contact</th>
<th>DOJ</th>
<th>Fees</th>
<th>Balance</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<?php
$sql = "select * from student where
delete_status='0'";
$q = $conn->query($sql);
$i=1;
while($r = $q->fetch_assoc())
{

echo '<tr '.


(($r['balance']>0)?'class="danger"':'').'>
<td>'.$i.'</td>
<td>'.$r['sname'].'<br/>'.
$r['contact'].'</td>
<td>'.date("d M y",
strtotime($r['joindate'])).'</td>
<td>'.$r['fees'].'</td>
<td>'.$r['balance'].'</td>
<td>

69
<a href="student.php?action=edit&id='.
$r['id'].'" class="btn btn-success btn-xs"><span class="glyphicon glyphicon-
edit"></span></a>

<a onclick="return confirm(\'Are you


sure you want to delete this record\');" href="student.php?action=delete&id='.
$r['id'].'" class="btn btn-danger btn-xs"><span class="glyphicon glyphicon-
remove"></span></a> </td>

</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>

<!-- 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>

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

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";


SET time_zone = "+00:00";

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;


/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- Database: `paysystem`
--

-- --------------------------------------------------------

--
-- Table structure for table `branch`
--

CREATE TABLE IF NOT EXISTS `branch` (


`id` int(255) NOT NULL,
`branch` varchar(255) NOT NULL,
`address` text NOT NULL,
`detail` text NOT NULL,
`delete_status` enum('0','1') NOT NULL DEFAULT '0'
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=latin1;

--
-- Dumping data for table `branch`
--

INSERT INTO `branch` (`id`, `branch`, `address`, `detail`, `delete_status`) VALUES


(1, 'Main Campus', 'Evbo-Ewedo, Egba Way, Along Benin-Auchi Road', 'Main Campus.',
'0'),
(2, 'First Campus', '1, Prince Shaka Momodu Street, Ogiso Quarters, Benin City',
'First Campus.', '0'),
(3, 'Future Affiliate(Lagos)', 'Yaba, Lagos', 'Distant Learning Affiliate 1 .',
'0'),
(4, 'Future Affiliate(Abuja)', 'Maitama, Abuja', 'Distant Learning Affiliate 2.',
'0'),
(5, 'Future Affiliate(Asaba)', 'Asaba, Delta State', 'Distant Learning Affiliate
3.', '0');

71
-- --------------------------------------------------------

--
-- Table structure for table `fees_transaction`
--

CREATE TABLE IF NOT EXISTS `fees_transaction` (


`id` int(255) NOT NULL,
`stdid` varchar(255) NOT NULL,
`paid` int(255) NOT NULL,
`submitdate` datetime NOT NULL,
`transcation_remark` text NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=latin1;

--
-- Dumping data for table `fees_transaction`
--

INSERT INTO `fees_transaction` (`id`, `stdid`, `paid`, `submitdate`,


`transcation_remark`) VALUES
(1, '1', 100, '2017-11-01 00:00:00', ''),
(2, '2', 150, '2017-10-05 00:00:00', ''),
(3, '3', 900, '2017-04-13 00:00:00', 'monthly'),
(4, '3', 1000, '2018-04-01 00:00:00', 'lklk'),
(5, '4', 500, '2018-07-02 00:00:00', 'TEST'),
(6, '5', 1500, '2018-06-02 00:00:00', 'DEMO'),
(7, '6', 200, '2018-07-03 00:00:00', 'DEMO'),
(8, '7', 200, '2018-03-02 00:00:00', 'DEMO'),
(9, '8', 5000, '2017-01-03 00:00:00', 'DEMO'),
(10, '9', 2500, '2018-03-02 00:00:00', 'DEMO');

-- --------------------------------------------------------

--
-- Table structure for table `student`
--

CREATE TABLE IF NOT EXISTS `student` (


`id` int(255) NOT NULL,
`emailid` varchar(255) NOT NULL,
`sname` varchar(255) NOT NULL,
`joindate` datetime NOT NULL,
`about` text NOT NULL,
`contact` varchar(255) NOT NULL,
`fees` int(255) NOT NULL,
`branch` varchar(255) NOT NULL,
`balance` int(255) NOT NULL,
`delete_status` enum('0','1') NOT NULL DEFAULT '0'
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=latin1;

--
-- Dumping data for table `student`
--

INSERT INTO `student` (`id`, `emailid`, `sname`, `joindate`, `about`, `contact`,


`fees`, `branch`, `balance`, `delete_status`) VALUES
(1, '[email protected]', 'Paige Doherty', '2017-11-01 00:00:00', 'Loreim
Ipsum', '07785383', 100, '3', 0, '1'),
(2, '[email protected]', 'Charles Miles', '2017-10-05 00:00:00', 'Hurry while
stocks last: Cleeve School blazers have all been reduced in price. ', '07748278',
150, '1', 0, '1'),

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

enough funds in his/her account.

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

Advancement in technology is making automation of mechanical activities become a very

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

was fit to be implemented.

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

research work and improvement opportunities

i Shaka Polytechnic should embrace and implement the developed system as it will

improve the conditions of fees payment.

ii The Government of Nigeria should enact laws and implement policies that encourage

and favor online payments by citizens in the country.

iii The researchers acknowledge that security is a threat to every system and therefore

encourage that maximum effort be dedicated to ensure security of the online

transactions through establishment of sound security infrastructure.

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

perspective and interaction design. Eindhoven: Technische University,

Eindhoven.

2. Akampwera G., Ashaba J., Lwanga N., Sekibira R. (2013),

Online fees payment system for Makerere University (muk-ofps);

Undergraduate Project, Makerere University.

3. Chou, Y., Lee, C. and Chung, J. (2004). Understanding M-commerce payment

systems through the analytic hierarchy process. Journal of Business Research

57, 1423–1430.

4. E-Commerce Payment Systems (2014). http://www.tutorialspoint.com [Online]

Available

http://www.tutorialspoint.com/e_commerce/e_commerce_payment_systems.ht

m (September 3, 2014).

5. Fisser, P. (2001) “Using Information and Communication Technology”. Ph.D.

thesis, Netherlands: University of Twente.

6. Laplante, Philip A., “Real-time systems design and analysis – An Engineer’s

Handbook, 2nd ed. IEEE Press, Piscataway, NJ, USA, http://www.ieee.org,

1997”

7. Harris, H., Guru, B., and Avvari, M. (2011). Evidence of firms‟ perceptions

toward electronic payment systems (EPS) in Malaysia. International Journal of

Business and Information 6(2).

77
8. James, A. (2009). Management Information Systems, Accounting information

systems: Oxford University Press.

9. Kalakota, R. and Whinston, A. (1997). Electronic commerce: a manager's

guide. Addison- Wesley.

10. Luke Welling, Laura Thompson, (2003). PHP and MYSQL Wed Development:

Second Edition, Sams Publishing.

11. Mohammad, A. and Emmanuel, U. (2003). Online credit card processing

models: critical issues to consider by small merchants. Human systems

management 22(3), 133-142.

12. Shon, T. and Swatman, P.M. (1998). Identifying effectiveness criteria for

Internet payment systems, Internet Research: Electronic Networking

Applications and Policy 8(3), 202- 218.

13. Singh, M.P. (2004). Information Systems. Practical Handbook of Internet

Computing. University of Toronto.

14. Taiwo Olufemi, Asaolu Tajudeen and John Ayoola., (2011) Electronic

Payment System in Nigeria: Implementation, Constraints and Solutions,

Journal of Management and Society, Vol. 1, No 2, pp. 16-21.

78

You might also like