Bank Report (Dheeresh)
Bank Report (Dheeresh)
ON
award of degree of
SUBMITTED BY:-
DHEERESH MAHAJAN ( UNIV. ROLL NO. (107222208427 )
DIVNESH (UNIV. ROLL NO. (10722208419 )
SUBMITTED TO:
DR.SATBIR SINGH
DR. HARJOT KAUR
ASSISTANT PROFESSOR
1
GNDU Regional Campus, Gurdaspur
May 2025
2
ACKNOWLEDGEMENT
With deep sense of gratitude we express our sincere thanks and obligation to our
esteemed guide DR. SATBIR SINGH & DR. HARJOT KAUR (Assistant
Professor).It is because of his able and mature guidance and co – operation without
which it would not have been possible for us to complete our project. I am very
environment where one can use her intellect and creativity to develop something
fruitful and also for allowing us the opportunity to experience dynamic professional
This environment facilitated us in pursuing this project .it is our pleasant duty to thank
all the staff members of the computer department for their time to time suggestion.
Finally,we would like to thank the almighty and our parents for their moral support
and our friends with whom we shared our day-to-day experience and received lots of
Dheeresh Mahajan
Divnesh
3
CERTIFICATE OF APPROVAL
This is certify that the project report entitled BANK MANAGEMENT SYSTEM
deptt. of Engineering and Technology has accepted the report as the fulfillment of
of this report has been submitted to any other College/University for the reward of
Signature of Student:
This is to certify that the above statement made by the candidate is correct to the
best of my knowledge.
4
Declaration
is the result of the work carried out by us under the guidance of Dr. SATBIR
CAMPUS GURDASPUR.
Dheeresh Mahajan
Divnesh
5
TABLE OF CONTENT
6
CHAPTER-1
INTRODUCTION
During the past several decades personnel function has been transformed from a
relatively obscure record keeping staff to central and top level management function.
There are many factors that have influenced this transformation like technological
important resources.
all the details required for the correct statement calculation and generation.
This project intends to introduce more user friendliness in the various activities such
as record updation, maintenance, and searching. The searching of record has been
7
made quite simple as all the details of the customer can be obtained by simply keying
maintenance and updation can also be accomplished by using the account number
with all the details being automatically generated. These details are also being
promptly automatically updated in the master file thus keeping the record absolutely
up-to-date.
The entire information has maintained in the database or Files and whoever wants to
retrieve can’t retrieve, only authorization user can retrieve the necessary information
8
OBJECTIVES OF THE PROJECT
A computer based management system is designed to handle all the primary information
statement of any month. Separate database is maintained to handle all the details required
This project intends to introduce more user friendliness in the various activities such as
record updation, maintenance, and searching. The searching of record has been made
quite simple as all the details of the customer can be obtained by simply keying in the
updation can also be accomplished by using the account number with all the details being
automatically generated. These details are also being promptly automatically updated in
The main objective of our project is providing the different typed of customers facility,
the main objective of this system is to find out the actual customer service. Etc.
It should increase the productivity of bank by utilizing the working hours more
This project includes the entire upgraded feature required for the computerization
banking system. This system is very easy to use, so that any user can use without getting
pre-knowledge about this. Its very much user friendly and meet almost all daily working
process requirements. This system is completely GUI based and can be use by mouse and
as well as keyboard. This system is melded in such a way that has got all features to
9
CHAPTER-2
FEASIBILITY ANALYSIS:-
Depending on the results of the initial investigation, the survey is expanded to a
needs and effective use of the resources its main task done during the feasibility
study are:-
are using and evaluating those system and the procedures invoked in it during
FEASIBILITY STUDY
10
The only tangible benefit provided by the proposed system is that the paper work is
reduced to the minimum and hence the reduction in cost incurred on Stationary and its
storage. The system provides many benefits that can’t be measured in terms of Money for
TECHNICAL FEASIBILITY:-
The proposed system is technically feasible as it can be developed easily with the
Studio 2005 using VB.Net as a Interface for Programming & back-end as MS-
SQL Server 2000 for storing/maintaining database. The database can be easily
OPERATIONAL FEASIBILITY:-
Automation makes our life easy. The proposed system is highly user friendly and
is much easily able to interact with the system. Therefore the users will readily
accept the system as data entry and making queries can be easily done.
11
CHAPTER-3
SYSYTEM REQUIREMENTS
Hardware specifications
Hardware is a set of physical components, which performs the functions of applying
appropriate, predefined instructions. In other words, one can say that electronic and
mechanical parts of computer constitute hardware.
This package is designed on a powerful programming language Visual Basic. It is a
powerful Graphical User Interface. The backend is ACCESS, which is used to maintain
12
database. It can run on almost all the popular microcomputers. The following are the
Personal Computer: -
Software Requirements:
The software is a set of procedures of coded information or a program which
when fed into the computer hardware, enables the computer to perform the
various tasks. Software is like a current inside the wire, which cannot be
seen but its effect can be felt.
2. Application Software:- Application software uses front end visual basic and database
access etc.
CHAPTER-4
13
A system development life cycle is a logical process by which system analysts, software
engineers, programmers, and end users build information systems and computer
The major phases involved in the MIS development process are referred to as system
development life cycle. Each phase of the development process must have well defined
objectives ,and at the end of each phase ,progress towards meeting the objectives must be
evaluated.
The development process should not continue until the objectives of all prior phases have
been met.
System development life cycle is a phased approach to analysis and design to ensure that
The system development life cycle can be divided into seven phases as shown in fig
14
CHAPTER-5
Visual programming aims at providing the user with an interface that is intuitive and
easy to use. In developing such an interface, the programmer employs user-friendly
features such as windows, menus, buttons and list boxes.
Its Environment provides all features that are required to develop a graphical user
interface as ready -to- use components. The programmer does not have to write code
to create and display commonly required user-friendly features each time around.
When the programmer needs a specific user interface feature such as button, he
selects the appropriate ready-to-use component provided by the visual programming
environment. These components can be moved, resized and renamed as required.
For Example:-
If the programmer needs to have a button then the visual programming environment
provides him with one. All that, the programmer does this selec t the button and
Typically the mouse is used to select and place the necessary components. Thus, the
15
A visual programming environment automates the process of creating a user
In addition it also provides a means of associating code with each component. In each
case of calculator, for each button, we can specific that the code is to execute when
we click on it.
There are several programming tools that allow us to build such visually appealing
and intuitive interface. These tools allow us to design interface that employ user
However, the disadvantage of such tools is that the interface is designed using code.
The programmer has to code the user interface features specifying the size, position
etc. this makes designing the user interface a major task in itself.
Visual development of graphical user interface which are easy to use and easy to
learn.
For Example:-
programmer picks up the required component from this list to display it.
16
The component can be moved, resized and even deleted, if so required.
For example:-
A button’ knows’ when it has been clicked upon. In the case of conventional
programming tools, the programmer has to write code to determine the component that
Visual Basic is one of the most popular programming tools available today. And it’s
also secret that there have been massive changes in it as it became Visual Basic.Net.
The reason of that change is Visual Basic itself, which has now become Visual
Basic.Net. The difference between Visual Basic.Net and the previous version. Visual
Basic 6.0 is revolutionary and far reaching. Visual Basic.Net has been more than four
years in the marking and it represents entirely new directions for Visual Basic.
Besides the biggest change integrated support for web development the very syntax,
of techniques that you’ve probably learned carefully are now completely different
such as data handling and many controls; project types and other aspects of Visual
Visual Basic has a long and so far glorious history. When it first appeared, it created a
windows programming just builds the program you want right before your eyes, and
17
then run it. In so doing it changed programming form a chore to something very like
fun.
CHAPTER-6
Introduction to SQL: -
18
SQL is an ANSI (American National Standards Institute) standard computer language
for accessing and manipulating database systems. SQL statements are used to retrieve
and update data in a database. SQL works with database programs like MS Access,
DB2, Informix, MS SQL Server, Oracle, Sybase, etc.
Unfortunately, there are many different versions of the SQL language, but to be in
compliance with the ANSI standard; they must support the same major keywords in a
similar manner (such as SELECT, UPDATE, DELETE, INSERT, WHERE, and
others).
A database most often contains one or more tables. Each table is identified by a name
(e.g. "Customers" or "Orders"). Tables contain records (rows) with data.
19
The table above contains three records (one for each person) and four columns (Last
Name, First Name, Address, and City).
SQL Queries: -
With SQL, we can query a database and have a result set returned.
Last Name
Hansen
Svendson
Petersen
SQL (Structured Query Language) is syntax for executing queries. But the SQL
language also includes syntax to update, insert, and delete records.
These query and update commands together form the Data Manipulation Language
(DML) part of SQL: -
20
SQL Data Definition Language (DDL)
The Data Definition Language (DDL) part of SQL permits database tables to be
created or deleted. We can also define indexes (keys), specify links between tables,
and impose constraints between database tables.
21
CHAPTER-7
DATA FLOW DIAGRAM: -The data flow diagram is also known as “bubble
chart” has the purpose of clarifying system requirements and identifying major
series if bubbles joined by lines. The bubbles represent data transformation and
DFD SYMBOLS:
22
SYSTEM DATA FLOW DIAGRAM
TRANSACTIONS ACCOUNT
BANKING
HOLDERS
DATABASE
23
CHAPTER-8
E-R DIAGRAM
24
ER-modeling is a data modeling technique used in software engineering to produce a
conceptual data model of a information system. Diagrams created using this ER-
modeling technique are called Entity-Relationship Diagrams, or ER diagrams or ERDs.
So you can say that Entity Relationship Diagrams illustrate the logical structure of
databases.
25
Dr. Peter Chen is the originator of the Entity-Relationship Model. His original paper
about ER-modeling is one of the most cited papers in the computer software field.
Currently the ER model serves as the foundation of many system analysis and design
methodologies, computer-aided software engineering (CASE) tools, and repository
systems.
The original notation for ER-Diagrams uses rectangles to represent entities, and
diamonds to represent relationships.
Entities are the "things" for which we want to store information. An entity is a
person, place, thing or event.
Attributes are the data we want to collect for an entity.
ERDs show entities in a database and relationships between tables within that database. It
is essential to have ER-Diagrams if you want to create a good database design. The
diagrams help focus on how the database actually works.
Entity (Instance)
An instance of a physical object in the real world.
Entity Class
: Group of objects of the same type.
–
E.g. Entity Class “Student”, Entities “John”, “Trish” etc
Attributes
26
Simple
: Attribute that is not divisible, e.g. age.
Composite
: Attribute composed of several simple attributes,
e.g. address (house number, street, district)
Multiple
: Attribute with a set of possible values for the same
entity, e.g. Phone (home, mobile etc.) or email
Key
: Uniquely Ids the Entity e.g. PPSN, Chassis No.
Each simple attribute associated with a VS that may be assigned to that attribute for each
individual entity,
e.g. age = integer
CHAPTER-9
27
DATA STRUCTURES AND DATABASE SPECIFICATIONS
“ACCOUNT_INFO” Table: -
Saluation_S Varchar(5)
Name_P_O_S Varchar(50)
28
Fa_Name_S Varchar(50)
Gender_S Varchar(6)
DOB_S DateTime
Occupation_S Varchar(15)
Photo_S Image
Sign_S Image
Address_S Varchar(100)
Ph_No_S Varchar(11)
Mob_No_S Varchar(14)
Saluation_T Varchar(5)
Name_P_O_T Varchar(50)
Fa_Name_T Varchar(50)
Gender_T Varchar(6)
DOB_T DateTime
Occupation_T Varchar(15)
Photo_T Image
Sign_T Image
Address_T Varchar(100)
Ph_No_T Varchar(11)
Mob_No_T Varchar(14)
29
Nominee_Rel Varchar(10) Not Null
Opening_Bal Varchar(10)
“Branch_Info” Table: -
Branch_Name Varchar(50)
“Deposit_Info” Table: -
Account_Info(Account_No)
Branch_No Varchar(7)
Depositor_Name Varchar(150)
Account_H_Type Varchar(15)
Deposit_Amt Varchar(10)
Deposit_Date DateTime
30
“Fixed_Info” Table: -
Branch_No Varchar(7)
Depositor_Name Varchar(50)
Account_H_Type Varchar(15)
Rate_Of_Interest_Info(Time_Span)
ROI Varchar(5)
Start_Date DateTime
Mature_Date Varchar(15)
Deposit_Amt Varchar(10)
Mature_Amt Varchar(10)
“Login_Info” Table: -
UserPassWord Varchar(15)
31
Field Name Data type Description
ROI Varchar(5)
“Withdrawl_Info” Table: -
Account_Info(Account_No)
Branch_No Varchar(7)
Withdrawee_Name Varchar(150)
Account_H_Type Varchar(15)
Withdrawl_Amt Varchar(10)
Withdrawl_Date DateTime
“Loan_Info” Table: -
Account_Info(Account_No)
Branch_No Varchar(7)
Acc_Holder_Name Varchar(50)
Account_Type Varchar(15)
32
Account_Sub_Type Varchar(15)
Rate_Of_Interest_Info(Time_Span)
ROI Varchar(5)
Issue_Date DateTime
Due_Date Varchar(15)
Loan_Sanctioned Varchar(10)
No_Installments Varchar(5)
EMI Varchar(10)
Total_Loan_Ret Varchar(10)
33
CHAPTER-10
DESIGN
HOMEPAGE
LOGIN-PAGE
34
ACCOUNT LIST PAGE
35
Withdraw / Deposit Page (Teller-Side)
FUND TRANSFER(User-side)
36
CHAPTER-11
37
CODING
ACCONTS FORM
<?php
session_start();
if(!isset($_SESSION['userId'])){
header('location:login.php');}
?>
<!DOCTYPE html>
<html>
<head>
<title>Banking</title>
<?php require 'assets/autoloader.php'; ?>
<?php require 'assets/db.php'; ?>
<?php require 'assets/function.php'; ?>
</head>
<body style="background-size: 100%" class="bg-
gradient-seconday">
<nav class="navbar navbar-expand-lg navbar-dark
bg-dark fixed-top">
<a class="navbar-brand" href="#">
<img src="images/logo.png" style="object-
fit:cover;object-position:center center"
width="30" height="30" class="d-inline-block
align-top" alt="">
<!-- <i class="d-inline-block fa fa-
building fa-fw"></i> --><?php echo bankname; ?>
38
</a>
<button class="navbar-toggler" type="button"
data-toggle="collapse" data-
target="#navbarSupportedContent" aria-
controls="navbarSupportedContent" aria-
expanded="false" aria-label="Toggle
navigation">
<span class="navbar-toggler-icon"></span>
</button>
39
</ul>
<?php include 'sideButton.php'; ?>
</div>
</nav><br><br><br>
<div class="container">
<div class="card w-75 mx-auto">
<div class="card-header text-center">
Your account Information
</div>
<div class="card-body">
<table class="table table-striped table-
dark w-75 mx-auto">
<thead>
<tr>
<td scope="col">Account No.</td>
<th scope="col"><?php echo
$userData['accountNo']; ?></th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">Branch</th>
<td><?php echo $userData['branchName']; ?
></td>
</tr>
<tr>
<th scope="row">Branch Code</th>
<td><?php echo $userData['branchNo']; ?
></td>
</tr>
40
<tr>
<th scope="row">Account Type</th>
<td><?php echo $userData['accountType'];
?></td>
</tr>
<tr>
<th scope="row">Account Created</th>
<td><?php echo $userData['date']; ?></td>
</tr>
</tbody>
</table>
</div>
<div class="card-footer text-muted">
<?php echo bankname ?>
</div>
</div>
</div>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Banking</title>
<?php require 'assets/autoloader.php'; ?>
41
<?php require 'assets/function.php'; ?>
<?php
$con = new
mysqli('localhost','root','','mybank');
define('bankname', 'XYZ Banko');
session_start();
$error = "";
if (isset($_POST['userLogin']))
{
$error = "";
$user = $_POST['email'];
$pass = $_POST['password'];
$result = $con->query("select *
from userAccounts where email='$user' AND
password='$pass'");
if($result->num_rows>0)
{
$data = $result->fetch_assoc();
$_SESSION['userId']=$data['id'];
$_SESSION['user'] = $data;
header('location:index.php');
}
else
{
$error = "<div class='alert
alert-warning text-center rounded-0'>Username
or password wrong try again!</div>";
}
}
42
if (isset($_POST['cashierLogin']))
{
$error = "";
$user = $_POST['email'];
$pass = $_POST['password'];
$result = $con->query("select *
from login where email='$user' AND
password='$pass'");
if($result->num_rows>0)
{
$data = $result->fetch_assoc();
$_SESSION['cashId']=$data['id'];
//$_SESSION['user'] = $data;
header('location:cindex.php');
}
else
{
$error = "<div class='alert
alert-warning text-center rounded-0'>Username
or password wrong try again!</div>";
}
}
if (isset($_POST['managerLogin']))
{
$error = "";
$user = $_POST['email'];
$pass = $_POST['password'];
43
$result = $con->query("select *
from login where email='$user' AND
password='$pass' AND type='manager'");
if($result->num_rows>0)
{
$data = $result->fetch_assoc();
$_SESSION['managerId']=$data['id'];
//$_SESSION['user'] = $data;
header('location:mindex.php');
}
else
{
$error = "<div class='alert
alert-warning text-center rounded-0'>Username
or password wrong try again!</div>";
}
}
?>
</head>
<body style="background:
url(images/banking_wp.jpg);background-size:
100%">
<h1 class="alert alert-dark bg-gradient-dark
rounded-0"><?php echo bankname; ?></h1>
<br>
<?php echo $error ?>
<br>
44
<div id="accordion" role="tablist" class="w-25
float-right shadowBlack" style="margin-right:
222px">
<br><h4 class="text-center">Select Your
Session</h4>
<div class="card rounded-0">
<div class="card-header" role="tab"
id="headingOne">
<h5 class="mb-0">
<a style="text-decoration: none;" data-
toggle="collapse" href="#collapseOne" aria-
expanded="true" aria-controls="collapseOne">
<button class="btn btn-outline-primary
btn-block">User Login</button>
</a>
</h5>
</div>
45
<button type="submit" class="btn btn-
primary btn-block btn-sm my-1"
name="userLogin">Enter </button>
</form>
</div>
</div>
</div>
<div class="card rounded-0">
<div class="card-header" role="tab"
id="headingTwo">
<h5 class="mb-0">
<a class="collapsed btn btn-outline-
primary btn-block" data-toggle="collapse"
href="#collapseTwo" aria-expanded="false" aria-
controls="collapseTwo">
Manager Login
</a>
</h5>
</div>
<div id="collapseTwo" class="collapse"
role="tabpanel" aria-labelledby="headingTwo"
data-parent="#accordion">
<div class="card-body">
<form method="POST">
<input type="email"
value="[email protected]" name="email"
class="form-control" required
placeholder="Enter Email">
<input type="password" name="password"
value="manager" class="form-control" required
placeholder="Enter Password">
46
<button type="submit" class="btn btn-
primary btn-block btn-sm my-1"
name="managerLogin">Enter </button>
</form>
</div>
</div>
</div>
<div class="card rounded-0">
<div class="card-header" role="tab"
id="headingThree">
<h5 class="mb-0">
<a class="collapsed btn btn-outline-
primary btn-block" data-toggle="collapse"
href="#collapseThree" aria-expanded="false"
aria-controls="collapseThree">
Cashier Login
</a>
</h5>
</div>
<div id="collapseThree" class="collapse"
role="tabpanel" aria-labelledby="headingThree"
data-parent="#accordion">
<div class="card-body">
<form method="POST">
<input type="email"
value="[email protected]" name="email"
class="form-control" required
placeholder="Enter Email">
<input type="password" name="password"
value="cashier" class="form-control" required
placeholder="Enter Password">
47
<button type="submit" class="btn btn-
primary btn-block btn-sm my-1"
name="cashierLogin">Enter </button>
</form>
</div>
</div>
</div>
</div>
</body>
</html>
FEEDBACK FORM
<?php
session_start();
if(!isset($_SESSION['userId'])){
header('location:login.php');}
?>
<!DOCTYPE html>
<html>
<head>
<title>Banking</title>
<?php require 'assets/autoloader.php'; ?>
<?php require 'assets/db.php'; ?>
<?php require 'assets/function.php'; ?>
<?php
$error = "";
if (isset($_POST['userLogin']))
48
{
$error = "";
$user = $_POST['email'];
$pass = $_POST['password'];
?>
</head>
<body style="background-size: 100%" class="bg-
gradient-seconday">
<nav class="navbar navbar-expand-lg navbar-dark
bg-dark fixed-top">
<a class="navbar-brand" href="#">
49
<img src="images/logo.png" style="object-
fit:cover;object-position:center center"
width="30" height="30" class="d-inline-block
align-top" alt="">
<!-- <i class="d-inline-block fa fa-
building fa-fw"></i> --><?php echo bankname; ?>
</a>
<button class="navbar-toggler" type="button"
data-toggle="collapse" data-
target="#navbarSupportedContent" aria-
controls="navbarSupportedContent" aria-
expanded="false" aria-label="Toggle
navigation">
<span class="navbar-toggler-icon"></span>
</button>
50
<li class="nav-item "> <a class="nav-
link" href="transfer.php">Funds
Transfer</a></li>
<!-- <li class="nav-item "> <a
class="nav-link"
href="profile.php">Profile</a></li> -->
</ul>
<?php include 'sideButton.php'; ?>
</div>
</nav><br><br><br>
<div class="container">
<div class="card w-75 mx-auto">
<div class="card-header text-center">
Help Card
</div>
<div class="card-body">
<form method="POST">
<div class="alert alert-success w-50
mx-auto">
<h5>Enter your message</h5>
<textarea class="form-control"
name="msg" required placeholder="Write your
message"></textarea>
<button type="submit" name="send"
class="btn btn-primary btn-block btn-sm my-
1">Send</button>
</div>
</form>
<br>
51
<?php
if (isset($_POST['send']))
{
if ($con->query("insert into feedback
(message,userId) values
('$_POST[msg]','$_SESSION[userId]')")) {
echo "<div class='alert alert-
success'>Successfully send</div>";
}else
echo "<div class='alert alert-danger'>Not
sent Error is:".$con->error."</div>";
}
?>
</div>
<div class="card-footer text-muted">
<?php echo bankname ?>
</div>
</div>
</div>
</body>
</html>
<?php
session_start();
52
if(!isset($_SESSION['managerId'])){
header('location:login.php');}
?>
<!DOCTYPE html>
<html>
<head>
<title>Banking</title>
<?php require 'assets/autoloader.php'; ?>
<?php require 'assets/db.php'; ?>
<?php require 'assets/function.php'; ?>
<?php if (isset($_GET['delete']))
{
if ($con->query("delete from useraccounts
where id = '$_GET[id]'"))
{
header("location:mindex.php");
}
} ?>
</head>
<body style="background-size: 100%" class="bg-
gradient-seconday">
<nav class="navbar navbar-expand-lg navbar-dark
bg-dark fixed-top">
<a class="navbar-brand" href="#">
<img src="images/logo.png" style="object-
fit:cover;object-position:center center"
width="30" height="30" class="d-inline-block
align-top" alt="">
<!-- <i class="d-inline-block fa fa-
building fa-fw"></i> --><?php echo bankname; ?>
</a>
53
<button class="navbar-toggler" type="button"
data-toggle="collapse" data-
target="#navbarSupportedContent" aria-
controls="navbarSupportedContent" aria-
expanded="false" aria-label="Toggle
navigation">
<span class="navbar-toggler-icon"></span>
</button>
54
</ul>
<?php include 'msideButton.php'; ?>
</div>
</nav><br><br><br>
<?php
if (isset($_POST['saveAccount']))
{
if (!$con->query("insert into login
(email,password,type) values
('$_POST[email]','$_POST[password]','cashier')"
)) {
echo "<div claass='alert alert-
success'>Failed. Error is:".$con-
>error."</div>";
}
}
if (isset($_GET['del']) && !
empty($_GET['del']))
{
$con->query("delete from login where id
='$_GET[del]'");
}
$array = $con->query("select * from login
where type='cashier'");
?>
<div class="container">
<div class="card w-100 text-center shadowBlue">
<div class="card-header">
55
All Staff Accounts <button class="btn btn-
outline-info btn-sm float-right" data-
toggle="modal" data-target="#exampleModal">Add
New Account</button>
</div>
<div class="card-body">
<table class="table table-bordered">
<thead>
<tr>
<th>Email</th>
<th>Password</th>
<th>Account Type</th>
<th></th>
</tr>
</thead>
<tbody>
<?php
if ($array->num_rows > 0)
{
while ($row = $array-
>fetch_assoc())
{
echo "<tr>";
echo "<td>".
$row['email']."</td>";
echo "<td>".
$row['password']."</td>";
echo "<td>".$row['type']."</td>";
echo "<td><a href='maccounts.php?
del=$row[id]' class='btn btn-danger btn-
sm'>Delete</a></td>";
56
echo "</tr>";
}
}
?>
</tbody>
</table>
</div>
<div class="card-footer text-muted">
<?php echo bankname; ?>
</div>
</div>
58
TRANSFER FORM CODING
<?php
session_start();
if(!isset($_SESSION['userId'])){
header('location:login.php');}
?>
<!DOCTYPE html>
<html>
<head>
<title>Banking</title>
<?php require 'assets/autoloader.php'; ?>
<?php require 'assets/db.php'; ?>
<?php require 'assets/function.php'; ?>
<?php
$error = "";
if (isset($_POST['userLogin']))
{
$error = "";
$user = $_POST['email'];
$pass = $_POST['password'];
?>
</head>
<body style="background-size: 100%" class="bg-
gradient-seconday">
<nav class="navbar navbar-expand-lg navbar-dark
bg-dark fixed-top">
<a class="navbar-brand" href="#">
<img src="images/logo.png" style="object-
fit:cover;object-position:center center"
width="30" height="30" class="d-inline-block
align-top" alt="">
<!-- <i class="d-inline-block fa fa-
building fa-fw"></i> --><?php echo bankname; ?>
</a>
<button class="navbar-toggler" type="button"
data-toggle="collapse" data-
target="#navbarSupportedContent" aria-
controls="navbarSupportedContent" aria-
expanded="false" aria-label="Toggle
navigation">
60
<span class="navbar-toggler-icon"></span>
</button>
</ul>
<?php include 'sideButton.php'; ?>
</div>
</nav><br><br><br>
<div class="container">
<div class="card w-75 mx-auto">
<div class="card-header text-center">
Funds Transfer
61
</div>
<div class="card-body">
<form method="POST">
<div class="alert alert-success w-50
mx-auto">
<h5>New Transfer</h5>
<input type="text" name="otherNo"
class="form-control " placeholder="Enter
Receiver Account number" required>
<button type="submit" name="get"
class="btn btn-primary btn-bloc btn-sm my-
1">Get Account Info</button>
</div>
</form>
<?php if (isset($_POST['get']))
{
$array2 = $con->query("select * from
otheraccounts where accountNo =
'$_POST[otherNo]'");
$array3 = $con->query("select * from
userAccounts where accountNo =
'$_POST[otherNo]'");
{
if ($array2->num_rows > 0)
{ $row2 = $array2->fetch_assoc();
echo "<div class='alert alert-
success w-50 mx-auto'>
<form method='POST'>
Account No.
62
<input type='text'
value='$row2[accountNo]' name='otherNo'
class='form-control ' readonly required>
Account Holder Name.
<input type='text'
class='form-control' value='$row2[holderName]'
readonly required>
Account Holder Bank Name.
<input type='text'
class='form-control' value='$row2[bankName]'
readonly required>
Enter Amount for tranfer.
<input type='number'
name='amount' class='form-control' min='1'
max='$userData[balance]' required>
<button type='submit'
name='transfer' class='btn btn-primary btn-bloc
btn-sm my-1'>Tranfer</button>
</form>
</div>";
}elseif ($array3->num_rows > 0) {
$row2 = $array3->fetch_assoc();
echo "<div class='alert alert-
success w-50 mx-auto'>
<form method='POST'>
Account No.
<input type='text'
value='$row2[accountNo]' name='otherNo'
class='form-control ' readonly required>
Account Holder Name.
63
<input type='text'
class='form-control' value='$row2[name]'
readonly required>
Account Holder Bank Name.
<input type='text'
class='form-control' value='".bankname."'
readonly required>
Enter Amount for tranfer.
<input type='number'
name='amount' class='form-control' min='1'
max='$userData[balance]' required>
<button type='submit'
name='transferSelf' class='btn btn-primary btn-
bloc btn-sm my-1'>Tranfer</button>
</form>
</div>";
}
else
echo "<div class='alert alert-
success w-50 mx-auto'>Account No.
$_POST[otherNo] Does not exist</div>";
}
}
?>
<br>
<h5>Transfer History</h5>
<div id="list-group rounded-0">
<?php
if (isset($_POST['transferSelf']))
{
$amount = $_POST['amount'];
64
setBalance($amount,'debit',
$userData['accountNo']);
setBalance($amount,'credit',
$_POST['otherNo']);
makeTransaction('transfer',$amount,
$_POST['otherNo']);
echo "<script>alert('Transfer
Successfull');window.location.href='transfer.ph
p'</script>";
}
if (isset($_POST['transfer']))
{
$amount = $_POST['amount'];
setBalance($amount,'debit',
$userData['accountNo']);
makeTransaction('transfer',$amount,
$_POST['otherNo']);
echo "<script>alert('Transfer
Successfull');window.location.href='transfer.ph
p'</script>";
}
$array = $con->query("select * from
transaction where userId = '$userData[id]' AND
action = 'transfer' order by date desc");
if ($array ->num_rows > 0)
{
while ($row = $array->fetch_assoc())
{
if ($row['action'] == 'transfer')
{
65
echo "<div class='list-group-item
list-group-item-action bg-gradient-
info'>Transfer have been made for Rs.
$row[debit] from your account at $row[date] in
account no.$row[other]</div>";
}
}
}
else
echo "<div class='list-group-item list-
group-item-action text-muted'>You have made no
transfer yet.</div>";
?>
</div>
</div>
<div class="card-footer text-muted">
<?php echo bankname ?>
</div>
</div>
</div>
</body>
</html>
<?php
session_start();
66
if(!isset($_SESSION['userId'])){
header('location:login.php');}
?>
<!DOCTYPE html>
<html>
<head>
<title>Banking</title>
<?php require 'assets/autoloader.php'; ?>
<?php require 'assets/db.php'; ?>
<?php require 'assets/function.php'; ?>
<?php
$error = "";
if (isset($_POST['userLogin']))
{
$error = "";
$user = $_POST['email'];
$pass = $_POST['password'];
67
$error = "<div class='alert alert-
warning text-center rounded-0'>Username or
password wrong try again!</div>";
}
}
?>
</head>
<body style="background-size: 100%" class="bg-
gradient-seconday">
<nav class="navbar navbar-expand-lg navbar-dark
bg-dark fixed-top">
<a class="navbar-brand" href="#">
<img src="images/logo.png" style="object-
fit:cover;object-position:center center"
width="30" height="30" class="d-inline-block
align-top" alt="">
<!-- <i class="d-inline-block fa fa-
building fa-fw"></i> --><?php echo bankname; ?>
</a>
<button class="navbar-toggler" type="button"
data-toggle="collapse" data-
target="#navbarSupportedContent" aria-
controls="navbarSupportedContent" aria-
expanded="false" aria-label="Toggle
navigation">
<span class="navbar-toggler-icon"></span>
</button>
68
<ul class="navbar-nav mr-auto">
<li class="nav-item ">
<a class="nav-link "
href="index.php">Home <span class="sr-
only">(current)</span></a>
</li>
<li class="nav-item "> <a class="nav-
link" href="accounts.php">Accounts</a></li>
<li class="nav-item "> <a class="nav-
link" href="statements.php">Account
Statements</a></li>
<li class="nav-item active"> <a
class="nav-link" href="transfer.php">Funds
Transfer</a></li>
<!-- <li class="nav-item "> <a
class="nav-link"
href="profile.php">Profile</a></li> -->
</ul>
<?php include 'sideButton.php'; ?>
</div>
</nav><br><br><br>
<div class="container">
<div class="card w-75 mx-auto">
<div class="card-header text-center">
Funds Transfer
</div>
<div class="card-body">
<form method="POST">
<div class="alert alert-success w-50
mx-auto">
69
<h5>New Transfer</h5>
<input type="text" name="otherNo"
class="form-control " placeholder="Enter
Receiver Account number" required>
<button type="submit" name="get"
class="btn btn-primary btn-bloc btn-sm my-
1">Get Account Info</button>
</div>
</form>
<?php if (isset($_POST['get']))
{
$array2 = $con->query("select * from
otheraccounts where accountNo =
'$_POST[otherNo]'");
$array3 = $con->query("select * from
userAccounts where accountNo =
'$_POST[otherNo]'");
{
if ($array2->num_rows > 0)
{ $row2 = $array2->fetch_assoc();
echo "<div class='alert alert-
success w-50 mx-auto'>
<form method='POST'>
Account No.
<input type='text'
value='$row2[accountNo]' name='otherNo'
class='form-control ' readonly required>
Account Holder Name.
<input type='text'
class='form-control' value='$row2[holderName]'
readonly required>
70
Account Holder Bank Name.
<input type='text'
class='form-control' value='$row2[bankName]'
readonly required>
Enter Amount for tranfer.
<input type='number'
name='amount' class='form-control' min='1'
max='$userData[balance]' required>
<button type='submit'
name='transfer' class='btn btn-primary btn-bloc
btn-sm my-1'>Tranfer</button>
</form>
</div>";
}elseif ($array3->num_rows > 0) {
$row2 = $array3->fetch_assoc();
echo "<div class='alert alert-
success w-50 mx-auto'>
<form method='POST'>
Account No.
<input type='text'
value='$row2[accountNo]' name='otherNo'
class='form-control ' readonly required>
Account Holder Name.
<input type='text'
class='form-control' value='$row2[name]'
readonly required>
Account Holder Bank Name.
<input type='text'
class='form-control' value='".bankname."'
readonly required>
Enter Amount for tranfer.
71
<input type='number'
name='amount' class='form-control' min='1'
max='$userData[balance]' required>
<button type='submit'
name='transferSelf' class='btn btn-primary btn-
bloc btn-sm my-1'>Tranfer</button>
</form>
</div>";
}
else
echo "<div class='alert alert-
success w-50 mx-auto'>Account No.
$_POST[otherNo] Does not exist</div>";
}
}
?>
<br>
<h5>Transfer History</h5>
<div id="list-group rounded-0">
<?php
if (isset($_POST['transferSelf']))
{
$amount = $_POST['amount'];
setBalance($amount,'debit',
$userData['accountNo']);
setBalance($amount,'credit',
$_POST['otherNo']);
makeTransaction('transfer',$amount,
$_POST['otherNo']);
72
echo "<script>alert('Transfer
Successfull');window.location.href='transfer.ph
p'</script>";
}
if (isset($_POST['transfer']))
{
$amount = $_POST['amount'];
setBalance($amount,'debit',
$userData['accountNo']);
makeTransaction('transfer',$amount,
$_POST['otherNo']);
echo "<script>alert('Transfer
Successfull');window.location.href='transfer.ph
p'</script>";
}
$array = $con->query("select * from
transaction where userId = '$userData[id]' AND
action = 'transfer' order by date desc");
if ($array ->num_rows > 0)
{
while ($row = $array->fetch_assoc())
{
if ($row['action'] == 'transfer')
{
echo "<div class='list-group-item
list-group-item-action bg-gradient-
info'>Transfer have been made for Rs.
$row[debit] from your account at $row[date] in
account no.$row[other]</div>";
}
73
}
}
else
echo "<div class='list-group-item list-
group-item-action text-muted'>You have made no
transfer yet.</div>";
?>
</div>
</div>
<div class="card-footer text-muted">
<?php echo bankname ?>
</div>
</div>
</div>
</body>
</html>
CHAPTER-12
INTRODUCTION:-
specification into source code. The preliminary goal of implementation is to write source
74
code and internal documentation so that conformance of the code to its specifications can
be easily verified, and so that debugging, testing and modifications are eased. This goal
can be achieved by making the source code as clear and straightforword as possible.
Simplicity, clarity and elegance are the hallmark of good programs, obscurity, cleverness,
Source code clarity is enhanced by structured coding techniques, by good coding style,
1. Error
The term error is used in two ways. It refers to the difference between the actual output of
software and the correct output, in this interpretation, error is essential a measure of the
difference between actual and ideal. Error is also to used to refer to human action that
2. Fault
75
Fault is a condition that causes to fail in performing its required function. A fault is a
basic reason for software malfunction and is synonymous with the commonly used term
Bug.
3. Failure
to its specifications. A software failure occurs if the behavior of the software is the
different from the specified behavior. Failure may be caused due to functional or
performance reasons.
a. Unit Testing
The term unit testing comprises the sets of tests performed by an individual programmer
A program unit is usually small enough that the programmer who developed it can test it
in great detail, and certainly in greater detail than will be possible when the unit is
integrated into an evolving software product. In the unit testing the programs are tested
separately, independent of each other. Since the check is done at the program level, it is
b. Module Testing
A module and encapsulates related component. So can be tested without other system
module.
c. Subsystem Testing
76
Subsystem testing may be independently design and implemented common problems are
There are four categories of tests that a programmer will typically perform on a program
unit.
1) Functional test
2) Performance test
3) Stress test
4) Structure test
1) Functional Test
Functional test cases involve exercising the code with Nominal input values for which
expected results are known; as well as boundary values (minimum values, maximum
values and values on and just outside the functional boundaries) and special values.
2) Performance Test
Performance testing determines the amount of execution time spent in various parts of the
unit, program throughput, response time, and device utilization by the program unit. A
certain amount of avoid expending too much effort on fine-tuning of a program unit that
contributes little to the over all performance of the entire system. Performance testing is
3) Stress Test
Stress test are those designed to intentionally break the unit. A great deal can be learned
about the strengths and limitations of a program by examining the manner in which a
4) Structure Test
77
Structure tests are concerned with exercising the internal logic of a program and
performance and stress testing as “black box” testing. While structure testing is referred
to as “white box” or “glass box” testing. The major activities in structural testing are
deciding which path to exercise, deriving test date to exercise those paths, determining
the test coverage criterion to be used, executing the test, and measuring the test coverage
DEBUGGING
Defect testing is intended to find areas where the program does not confirm to its
specifications. Tests are designed to reveal the presence of defect in the system.When
defect have been found in the program. There must be discovered and removed. This is
called “Debugging”.
CHAPTER-13
We can establish and start various Branches and available help centers for Account
Holder’s Queries.
78
We can also deal through internet by creating web pages and a banking website for
internet dealing.
To attract Account Holder’s we can offer various offers during festivals months.
To have more and more customer satisfaction we will emphasize more and more on
our dealings.
CHAPTER-14
WEBSITE REFERENCES:
1. https://www.tutorialspoints.com/index.htm
2. https://www.javatpoint.com
3. https://www.wbankmanagementsystem.com
4. https://archive.org/stream/
fundamentalsOfDatabaseSystemselmasrinavathe#
5. https://en.wikipedia.org/wiki/online_banking
79
6. http://www.slideshare.net
80