RAHULMINIPROJECT
RAHULMINIPROJECT
SUBMITTED TO
1
ARKA JAIN UNIVERSITY, JHARKHAND
CERTIFICATE
Guide: Dean:
School of Engineering & IT
Arka Jain University, Jharkhand
Date:
2
TABLE OF CONTENTS
INTRODUCTION
1. 01
2. REQUIREMENTS 02
5. DATA NORMALIZATION 05
IMPLEMENTATION
5. 07
SNAPSHOTS
6. 35
7. FUTURE SCOPE 43
CONCLUSION
8. 44
REFERENCES
9. 45
3
INTRODUCTION
1.1 Overview
Teacher Record Management system is a web-based technology that will help to search
teacher online. Teacher Record Management system is important for person who search
good teacher and also used by school to maintain teacher records. In Teachers Record
Management System we use PHP and MySQL database. This is the project which keeps
records of Teachers. Teachers Record Management System has two module i.e. admin
and users.
1.2 Scope of the project
Teacher Record Management System project is developed as a web application and it
will work over web to search teacher online according to their subjects.
1.3 Modules
Dashboard: In this section admin can briefly view total number of subjects and
total number of teachers.
Subjects: In this section, admin can manage the Subjects (add/update).
Teachers: In this section, admin can add new teachers and manage the details of
old teachers.
Search: In this section, admin can search teachers by using teacher name.
Report: In this section, admin can view number of teachers added in particular
periods. Profile: In this section admin can update his/her profile.
Change Password: In this section admin can change his/her own passwords
Logout: Through this button admin can logout.
Forgot Password: In this section, admin can reset his/her password by using
registered email id and contact number. Users: Users can search the teachers by
entering the subject name.
1
REQUIREMENTS
System Requirements:
Software Requirement:
• Operating System : Windows 7 and above
• Programming language: PHP 5.0
• Web-Technology: HTML, Bootstrap, JS
• Front-End: PHP
• Back-End: PHPMYADMIN
• Web Server: XAMPP(Apache)
Hardware Requirements:
•Processor Pentium IV or higher version.
•Ram 128 MB or above
•Hard Disk 150 MB or above
2
ER DIAGRAM
3
DATA FLOW DIAGRAM
LEVEL - 0
4
DATA NORMALIZATION
ADMIN TABLE
SUBJECT TABLE:
5
TEACHER TABLE:
6
IMPLEMENTATION
FRONTEND CODE
1. Dashboard
<?php
session_start();
error_reporting(0);
include('includes/dbconnection.php');
if (strlen($_SESSION['trmsaid']) == 0) {
header('location:logout.php');
} else {
?>
<!doctype html>
<html class="no-js" lang="en">
<head>
<title>TRMS Admin Dashboard</title>
<link rel="apple-touch-icon" href="apple-icon.png">
<link rel="stylesheet" href="../vendors/bootstrap/dist/css/bootstrap.min.css">
<link rel="stylesheet" href="../vendors/font-awesome/css/font-
awesome.min.css">
<link rel="stylesheet" href="../vendors/themify-icons/css/themify-icons.css">
<link rel="stylesheet" href="../vendors/flag-icon-css/css/flag-icon.min.css">
<link rel="stylesheet" href="../vendors/selectFX/css/cs-skin-elastic.css">
<link rel="stylesheet" href="../vendors/jqvmap/dist/jqvmap.min.css">
<link rel="stylesheet" href="../assets/css/style.css">
<link href='https://fonts.googleapis.com/css?
family=Open+Sans:400,600,700,800' rel='stylesheet' type='text/css'>
</head>
<body>
<?php include_once('includes/sidebar.php');?>
7
<div class="page-header float-left">
<div class="page-title">
<h1>Dashboard</h1>
</div>
</div>
</div>
<div class="col-sm-8">
<div class="page-header float-right">
<div class="page-title">
<ol class="breadcrumb text-right">
<li class="active">Dashboard</li>
</ol>
</div>
</div>
</div>
</div>
8
<!--/.col-->
<a href="manage-teacher.php">
<div class="col-sm-6 col-lg-6">
<div class="card text-white bg-flat-color-2">
<div class="card-body pb-0">
<div class="dropdown float-right"></div>
<?php
$sql1 = "SELECT ID from tblteacher";
$query1 = $dbh->prepare($sql1);
$query1->execute();
$results1 = $query1->fetchAll(PDO::FETCH_OBJ);
$totalteacher = $query1->rowCount();
?>
<h2 class="mb-0">
<span class="count"><?php echo
htmlentities($totalteacher); ?></span>
</h2>
<p class="text-light">Total Registered Teachers</p>
<div class="chart-wrapper px-0" style="height:70px;"
height="70">
<canvas id="widgetChart2"></canvas>
</div>
</div>
</div>
</div>
</a>
<a href="manage-notpublicprofileteacher.php">
<div class="col-sm-6 col-lg-6">
<div class="card text-white bg-flat-color-3">
<div class="card-body pb-0">
<div class="dropdown float-right"></div>
<?php
$sql1 = "SELECT ID from tblteacher where isPublic is null ||
isPublic='0'";
$query1 = $dbh->prepare($sql1);
$query1->execute();
$results1 = $query1->fetchAll(PDO::FETCH_OBJ);
$totalteacher = $query1->rowCount();
?>
<h2 class="mb-0">
<span class="count"><?php echo
htmlentities($totalteacher); ?></span>
</h2>
9
<p class="text-light">Registered Teachers (Profile Not
Public)</p>
<div class="chart-wrapper px-0" style="height:70px;"
height="70">
<canvas id="widgetChart2"></canvas>
</div>
</div>
</div>
</div>
</a>
<a href="manage-publicprofileteacher.php">
<div class="col-sm-6 col-lg-6">
<div class="card text-white bg-flat-color-5">
<div class="card-body pb-0">
<div class="dropdown float-right"></div>
<?php
$sql1 = "SELECT ID from tblteacher where isPublic='1'";
$query1 = $dbh->prepare($sql1);
$query1->execute();
$results1 = $query1->fetchAll(PDO::FETCH_OBJ);
$totalteacher = $query1->rowCount();
?>
<h2 class="mb-0">
<span class="count"><?php echo
htmlentities($totalteacher); ?></span>
</h2>
<p class="text-light">Registered Teachers(Profile Public)</p>
<div class="chart-wrapper px-0" style="height:70px;"
height="70">
<canvas id="widgetChart2"></canvas>
</div>
</div>
</div>
</div>
</a>
</div><!-- .content -->
</div><!-- /#right-panel -->
10
<script src="../vendors/chart.js/dist/Chart.bundle.min.js"></script>
<script src="../assets/js/dashboard.js"></script>
<script src="../assets/js/widgets.js"></script>
<script src="../vendors/jqvmap/dist/jquery.vmap.min.js"></script>
<script
src="../vendors/jqvmap/examples/js/jquery.vmap.sampledata.js"></script>
<script src="../vendors/jqvmap/dist/maps/jquery.vmap.world.js"></script>
<script>
(function($) {
"use strict";
jQuery('#vmap').vectorMap({
map: 'world_en',
backgroundColor: null,
color: '#ffffff',
hoverOpacity: 0.7,
selectedColor: '#1de9b6',
enableZoom: true,
showTooltip: true,
values: sample_data,
scaleColors: ['#1de9b6', '#03a9f5'],
normalizeFunction: 'polynomial'
});
})(jQuery);
</script>
</body>
</html>
<?php } ?>
2. Search
<?php
session_start();
error_reporting(0);
include('includes/dbconnection.php');
if (strlen($_SESSION['trmsaid']) == 0) {
header('location:logout.php');
} else {
?>
<!doctype html>
<html class="no-js" lang="en">
<head>
<title>TRMS Search</title>
<link rel="apple-touch-icon" href="apple-icon.png">
<link rel="shortcut icon" href="favicon.ico">
11
<link rel="stylesheet" href="../vendors/bootstrap/dist/css/bootstrap.min.css">
<link rel="stylesheet" href="../vendors/font-awesome/css/font-awesome.min.css">
<link rel="stylesheet" href="../vendors/themify-icons/css/themify-icons.css">
<link rel="stylesheet" href="../vendors/flag-icon-css/css/flag-icon.min.css">
<link rel="stylesheet" href="../vendors/selectFX/css/cs-skin-elastic.css">
<link rel="stylesheet" href="../assets/css/style.css">
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,600,700,800'
rel='stylesheet' type='text/css'>
</head>
<body>
<!-- Left Panel -->
<?php include_once('includes/sidebar.php'); ?>
<div class="breadcrumbs">
<div class="col-sm-4">
<div class="page-header float-left">
<div class="page-title">
<h1>Search Teacher</h1>
</div>
</div>
</div>
<div class="col-sm-8">
<div class="page-header float-right">
<div class="page-title">
<ol class="breadcrumb text-right">
<li><a href="dashboard.php">Dashboard</a></li>
<li><a href="search.php">Search Teacher</a></li>
<li class="active">Teacher</li>
</ol>
</div>
</div>
</div>
</div>
12
<div class="form-group row">
<label class="col-4 col-form-label" for="example-email"
style="padding-left: 50px">
<strong>Search by Name or Subject</strong>
</label>
<div class="col-6">
<input id="searchdata" type="text" name="searchdata"
required="true" class="form-control">
</div>
</div>
<p style="text-align: center;">
<button type="submit" class="btn btn-primary btn-sm"
name="search" id="submit">
<i class="fa fa-dot-circle-o"></i> Search
</button>
</p>
</div>
</div>
</div>
</form>
<?php if (isset($_POST['search'])) {
$sdata = $_POST['searchdata'];
?>
<h4 align="center">Result against "<?php echo $sdata; ?>" keyword </h4>
<div class="card-body">
<table class="table">
<thead>
<tr>
<th>S.NO</th>
<th>Teacher Name</th>
<th>Subject</th>
<th>Registration Date</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<?php
$sql = "SELECT * from tblteacher where Name like '%$sdata%' ||
TeacherSub like '%$sdata%'";
$query = $dbh->prepare($sql);
$query->execute();
$results = $query->fetchAll(PDO::FETCH_OBJ);
$cnt = 1;
if ($query->rowCount() > 0) {
foreach ($results as $row) {
?>
<tr>
<td><?php echo htmlentities($cnt); ?></td>
<td><?php echo htmlentities($row->Name); ?></td>
13
<td><?php echo htmlentities($row->TeacherSub); ?></td>
<td><?php echo htmlentities($row->RegDate); ?></td>
<td>
<a href="edit-teacher-detail.php?tid=<?php echo
htmlentities($row->ID); ?>" class="btn btn-primary">Edit</a>
<a href="manage-teacher.php?delid=<?php echo
htmlentities($row->ID); ?>" class="btn btn-danger" onclick="return confirm('Do you really
want to delete?');">Delete</a>
<a href="queries.php?tid=<?php echo htmlentities($row-
>ID); ?>&&tname=<?php echo htmlentities($row->Name); ?> (<?php echo
htmlentities($row->TeacherSub); ?>)" class="btn btn-primary">Queries</a>
</td>
</tr>
<?php
$cnt = $cnt + 1;
}
} else {
?>
<tr>
<td colspan="5"> No record found against this search</td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
<?php } ?>
</div>
</div>
</div>
</div><!-- .animated -->
</div><!-- .content -->
</div><!-- /#right-panel -->
3. Manage subjects
<?php
session_start();
error_reporting(0);
include('includes/dbconnection.php');
if (strlen($_SESSION['trmsaid'] == 0)) {
header('location:logout.php');
14
} else {
if ($_GET['delid']) {
$tid = $_GET['delid'];
$query = $dbh->prepare("DELETE FROM tblsubjects WHERE ID = :tid");
$query->bindParam(':tid', $tid, PDO::PARAM_STR);
$query->execute();
echo '<script>alert("Subject deleted")</script>';
echo "<script>window.location.href = 'manage-teacher.php'</script>";
}
?>
<!doctype html>
<html class="no-js" lang="en">
<head>
<title>TRMS || Manage Subject</title>
<link rel="apple-touch-icon" href="apple-icon.png">
<link rel="stylesheet" href="../vendors/bootstrap/dist/css/bootstrap.min.css">
<link rel="stylesheet" href="../vendors/font-awesome/css/font-awesome.min.css">
<link rel="stylesheet" href="../vendors/themify-icons/css/themify-icons.css">
<link rel="stylesheet" href="../vendors/flag-icon-css/css/flag-icon.min.css">
<link rel="stylesheet" href="../vendors/selectFX/css/cs-skin-elastic.css">
<link rel="stylesheet" href="../assets/css/style.css">
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,600,700,800'
rel='stylesheet' type='text/css'>
</head>
<body>
<!-- Left Panel -->
<?php include_once('includes/sidebar.php');?>
<div class="breadcrumbs">
<div class="col-sm-4">
<div class="page-header float-left">
<div class="page-title">
<h1>Manage Subject</h1>
</div>
</div>
</div>
<div class="col-sm-8">
<div class="page-header float-right">
<div class="page-title">
<ol class="breadcrumb text-right">
<li><a href="dashboard.php">Dashboard</a></li>
<li><a href="manage-subjects.php">Manage Subject</a></li>
<li class="active">Manage Subject</li>
</ol>
</div>
</div>
15
</div>
</div>
if ($query->rowCount() > 0) {
foreach ($results as $row) {
?>
<tr>
<td><?php echo htmlentities($cnt); ?></td>
<td><?php echo htmlentities($row->Subject); ?></td>
<td><?php echo htmlentities($row->CreationDate); ?></td>
<td>
<a href="edit-subjects-detail.php?editid=<?php echo
htmlentities($row->ID); ?>" class="btn btn-primary">Edit</a>
<a href="manage-subjects.php?delid=<?php echo
htmlentities($row->ID); ?>" class="btn btn-danger" onclick="return confirm('Do you really
want to delete?');">Delete</a>
</td>
</tr>
<?php
$cnt++;
}
}
?>
</tbody>
16
</table>
</div>
</div>
</div>
</div>
</div><!-- .animated -->
</div><!-- .content -->
</div><!-- /#right-panel -->
4. Manage teachers
<?php
session_start();
error_reporting(0);
include('includes/dbconnection.php');
if (strlen($_SESSION['trmsaid']) == 0) {
header('location:logout.php');
} else {
if (isset($_GET['delid'])) {
$tid = $_GET['delid'];
$query = $dbh->prepare("DELETE FROM tblteacher WHERE ID = :tid");
$query->bindParam(':tid', $tid, PDO::PARAM_STR);
$query->execute();
echo '<script>alert("Teacher deleted")</script>';
echo "<script>window.location.href ='manage-teacher.php'</script>";
}
}
?>
<!doctype html>
<html lang="en">
<head>
<title>TRMS || Manage Teacher</title>
<link rel="stylesheet" href="../vendors/bootstrap/dist/css/bootstrap.min.css">
<link rel="stylesheet" href="../vendors/font-awesome/css/font-awesome.min.css">
<link rel="stylesheet" href="../vendors/themify-icons/css/themify-icons.css">
<link rel="stylesheet" href="../vendors/flag-icon-css/css/flag-icon.min.css">
<link rel="stylesheet" href="../vendors/selectFX/css/cs-skin-elastic.css">
<link rel="stylesheet" href="../assets/css/style.css">
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,600,700,800'
rel='stylesheet' type='text/css'>
</head>
17
<body>
<?php include_once('includes/sidebar.php'); ?>
<div id="right-panel" class="right-panel">
<?php include_once('includes/header.php'); ?>
<div class="breadcrumbs">
<div class="col-sm-4">
<div class="page-header float-left">
<div class="page-title">
<h1>Manage Teachers</h1>
</div>
</div>
</div>
<div class="col-sm-8">
<div class="page-header float-right">
<div class="page-title">
<ol class="breadcrumb text-right">
<li><a href="dashboard.php">Dashboard</a></li>
<li><a href="manage-teacher.php">Manage Teachers</a></li>
<li class="active">Manage Teachers</li>
</ol>
</div>
</div>
</div>
</div>
<div class="content mt-3">
<div class="animated fadeIn">
<div class="row">
<div class="col-lg-12">
<div class="card">
<div class="card-header">
<strong class="card-title">Manage Teachers</strong>
</div>
<div class="card-body">
<table id="dtBasicExample" class="table table-striped table-
bordered">
<thead>
<tr>
<th>S.NO</th>
<th>Teacher Name</th>
<th>Subject</th>
<th>Registration Date</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<?php
$sql = "SELECT * FROM tblteacher";
$query = $dbh->prepare($sql);
$query->execute();
$results = $query->fetchAll(PDO::FETCH_OBJ);
18
$cnt = 1;
if ($query->rowCount() > 0) {
foreach ($results as $row) { ?>
<tr>
<td><?php echo htmlentities($cnt); ?></td>
<td><?php echo htmlentities($row->Name); ?></td>
<td><?php echo htmlentities($row->TeacherSub); ?
></td>
<td><?php echo htmlentities($row->RegDate);
?></td>
<td>
<a href="edit-teacher-detail.php?tid=<?php echo
htmlentities($row->ID); ?>" class="btn btn-primary">Edit</a>
<a href="manage-teacher.php?delid=<?php echo
htmlentities($row->ID); ?>" class="btn btn-danger" onclick="return confirm('Do you
really want to delete?');">Delete</a>
<a href="queries.php?tid=<?php echo
htmlentities($row->ID); ?>&&tname=<?php echo htmlentities($row->Name); ?> (<?
php echo htmlentities($row->TeacherSub); ?>)" class="btn
btn-primary">Queries</a>
</td>
</tr>
<?php $cnt = $cnt + 1;
}
}
?>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="../vendors/jquery/dist/jquery.min.js"></script>
<script src="../vendors/popper.js/dist/umd/popper.min.js"></script>
<script src="../vendors/bootstrap/dist/js/bootstrap.min.js"></script>
<script src="https://cdn.datatables.net/1.11.5/js/dataTables.bootstrap.min.js"></
script>
<script src="https://cdn.datatables.net/1.11.5/js/jquery.dataTables.min.js"></script>
<link rel="stylesheet" type="text/css"
href="https://cdn.datatables.net/1.11.5/css/dataTables.bootstrap.min.css">
<script type="text/javascript">
$(document).ready(function () {
$('#dtBasicExample').DataTable();
$('.dataTables_length').addClass('bs-select');
});
</script>
</body>
19
</html>
5. Add subjects
<?php
session_start();
error_reporting(0);
include('includes/dbconnection.php');
if (strlen($_SESSION['trmsaid']) == 0) {
header('location:logout.php');
} else {
if (isset($_POST['submit'])) {
$trmsaid = $_SESSION['trmsaid'];
$subjects = $_POST['subjects'];
$sql = "INSERT INTO tblsubjects (Subject) VALUES (:subjects)";
$query = $dbh->prepare($sql);
$query->bindParam(':subjects', $subjects, PDO::PARAM_STR);
$query->execute();
$LastInsertId = $dbh->lastInsertId();
if ($LastInsertId > 0) {
echo '<script>alert("Subject has been added.")</script>';
echo "<script>window.location.href ='manage-subjects.php'</script>";
} else {
echo '<script>alert("Something Went Wrong. Please try again")</script>';
}
}
}
?>
<!doctype html>
<html lang="en">
<head>
<title>TRMS Add Subject</title>
<link rel="stylesheet" href="../vendors/bootstrap/dist/css/bootstrap.min.css">
<link rel="stylesheet" href="../vendors/font-awesome/css/font-awesome.min.css">
<link rel="stylesheet" href="../vendors/themify-icons/css/themify-icons.css">
<link rel="stylesheet" href="../vendors/flag-icon-css/css/flag-icon.min.css">
<link rel="stylesheet" href="../vendors/selectFX/css/cs-skin-elastic.css">
<link rel="stylesheet" href="../assets/css/style.css">
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,600,700,800'
rel='stylesheet' type='text/css'>
</head>
<body>
<?php include_once('includes/sidebar.php'); ?>
<div id="right-panel" class="right-panel">
<?php include_once('includes/header.php'); ?>
<div class="breadcrumbs">
<div class="col-sm-4">
<div class="page-header float-left">
<div class="page-title">
<h1>Subjects Details</h1>
</div>
20
</div>
</div>
<div class="col-sm-8">
<div class="page-header float-right">
<div class="page-title">
<ol class="breadcrumb text-right">
<li><a href="dashboard.php">Dashboard</a></li>
<li><a href="add-subjects.php">Subjects Details</a></li>
<li class="active">Add</li>
</ol>
</div>
</div>
</div>
</div>
<div class="content mt-3">
<div class="animated fadeIn">
<div class="row">
<div class="col-lg-12">
<div class="card">
<div class="card-header"><strong>Subjects </strong><small>
Details</small></div>
<form name="" method="post" action="">
<div class="card-body card-block">
<div class="form-group">
<label for="subjects" class=" form-control-label">Subject
Name</label>
<input type="text" name="subjects" class="form-control"
id="subjects" required="true">
</div>
<p style="text-align: center;">
<button type="submit" class="btn btn-primary btn-sm"
name="submit" id="submit">
<i class="fa fa-dot-circle-o"></i> Add
</button>
</p>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="../vendors/jquery/dist/jquery.min.js"></script>
<script src="../vendors/popper.js/dist/umd/popper.min.js"></script>
<script src="../vendors/bootstrap/dist/js/bootstrap.min.js"></script>
<script src="../assets/js/main.js"></script>
</body>
</html>
6. Add teachers
21
<?php
session_start();
error_reporting(0);
include('includes/dbconnection.php');
if (strlen($_SESSION['trmsaid']) == 0) {
header('location:logout.php');
} else {
if (isset($_POST['submit'])) {
$trmsaid = $_SESSION['trmsaid'];
$tname = $_POST['tname'];
$email = $_POST['email'];
$mobnum = $_POST['mobilenumber'];
$address = $_POST['address'];
$quali = $_POST['qualifications'];
$tsubjects = $_POST['tsubjects'];
$tdate = $_POST['joiningdate'];
$teachingexp = $_POST['teachingexp'];
$description = $_POST['description'];
$propic = $_FILES["propic"]["name"];
if ($query->rowCount() > 0) {
echo "<script>alert('This email or Contact Number is already associated with
another account');</script>";
echo "<script>window.location.href='add-teacher.php'</script>";
} else {
$extension = substr($propic, strlen($propic) - 4, strlen($propic));
$allowed_extensions = array(".jpg", "jpeg", ".png", ".gif");
if (!in_array($extension, $allowed_extensions)) {
echo "<script>alert('Profile Pic has Invalid format. Only jpg / jpeg/ png /gif
format allowed');</script>";
} else {
$propic = md5($propic) . time() . $extension;
move_uploaded_file($_FILES["propic"]["tmp_name"],
"../teacher/images/" . $propic);
22
e, :teachingexp, :description)";
$query = $dbh->prepare($sql);
$query->bindParam(':tname', $tname, PDO::PARAM_STR);
$query->bindParam(':tpics', $propic, PDO::PARAM_STR);
$query->bindParam(':email', $email, PDO::PARAM_STR);
$query->bindParam(':mobilenumber', $mobnum, PDO::PARAM_STR);
$query->bindParam(':address', $address, PDO::PARAM_STR);
$query->bindParam(':qualifications', $quali, PDO::PARAM_STR);
$query->bindParam(':tsubjects', $tsubjects, PDO::PARAM_STR);
$query->bindParam(':joiningdate', $tdate, PDO::PARAM_STR);
$query->bindParam(':teachingexp', $teachingexp, PDO::PARAM_STR);
$query->bindParam(':description', $description, PDO::PARAM_STR);
$query->execute();
$LastInsertId = $dbh->lastInsertId();
if ($LastInsertId > 0) {
echo '<script>alert("Teacher Detail has been added.")</script>';
echo "<script>window.location.href ='manage-teacher.php'</script>";
} else {
echo '<script>alert("Something Went Wrong. Please try
again")</script>';
}
}
}
}
}
?>
<!doctype html>
<html lang="en">
<head>
<title>TRMS Add Teachers</title>
<link rel="apple-touch-icon" href="apple-icon.png">
<link rel="stylesheet" href="../vendors/bootstrap/dist/css/bootstrap.min.css">
<link rel="stylesheet" href="../vendors/font-awesome/css/font-awesome.min.css">
<link rel="stylesheet" href="../vendors/themify-icons/css/themify-icons.css">
<link rel="stylesheet" href="../vendors/flag-icon-css/css/flag-icon.min.css">
<link rel="stylesheet" href="../vendors/selectFX/css/cs-skin-elastic.css">
<link rel="stylesheet" href="../assets/css/style.css">
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,600,700,800'
rel='stylesheet' type='text/css'>
</head>
<body>
<?php include_once('includes/sidebar.php'); ?>
<div id="right-panel" class="right-panel">
<?php include_once('includes/header.php'); ?>
<div class="breadcrumbs">
<div class="col-sm-4">
<div class="page-header float-left">
<div class="page-title">
23
<h1>Teacher Details</h1>
</div>
</div>
</div>
<div class="col-sm-8">
<div class="page-header float-right">
<div class="page-title">
<ol class="breadcrumb text-right">
<li><a href="dashboard.php">Dashboard</a></li>
<li><a href="add-teacher.php">Teacher Details</a></li>
<li class="active">Add</li>
</ol>
</div>
</div>
</div>
</div>
<div class="content mt-3">
<div class="animated fadeIn">
<div class="row">
<div class="col-lg-6">
<div class="card">
<div class="card-header">
<strong>Teacher</strong><small> Personal Details</small>
</div>
<form name="" method="post" action="" enctype="multipart/form-
data">
<div class="card-body card-block">
<div class="form-group">
<label for="tname" class="form-control-label">Teacher
Name</label>
<input type="text" name="tname" class="form-control"
id="tname" required="true">
</div>
<div class="form-group">
<label for="propic" class="form-control-label">Teacher
Pic</label>
<input type="file" name="propic" class="form-control"
id="propic" required="true">
</div>
<div class="form-group">
<label for="email" class="form-control-label">Teacher
Email ID</label>
<input type="text" name="email" id="email" class="form-
control" required="true">
</div>
<div class="form-group">
<label for="mobilenumber" class="form-control-
label">Teacher Mobile Number</label>
<input type="text" name="mobilenumber"
id="mobilenumber" class="form-control" required="true" maxlength="10"
24
pattern="[0-9]+">
</div>
<div class="form-group">
<label for="address" class="form-control-label">Teacher
Address</label>
<textarea name="address" id="address" class="form-
control" rows="4" cols="12" required="true"></textarea>
</div>
</div>
</form>
</div>
</div>
<div class="col-lg-6">
<div class="card">
<div class="card-header">
<strong>Teacher</strong><small> Professional Details</small>
</div>
<div class="card-body card-block">
<div class="form-group">
<label for="qualifications" class="form-control-label">Teacher
Qualifications (Separated by comma)</label>
<input type="text" name="qualifications" id="qualifications"
class="form-control" required="true">
</div>
<div class="form-group">
<label for="teachingexp" class="form-control-label">Teaching
Experience (in Years)</label>
<input type="text" name="teachingexp" id="teachingexp"
pattern="[0-9]+" title="only numbers" class="form-control" required="true">
</div>
<div class="form-group">
<label for="tsubjects" class="form-control-label">Teacher
Subjects</label>
<select name="tsubjects" id="tsubjects" class="form-control"
required="true">
<option value="">Choose Subjects</option>
<?php
$sql2 = "SELECT * FROM tblsubjects";
$query2 = $dbh->prepare($sql2);
$query2->execute();
$result2 = $query2->fetchAll(PDO::FETCH_OBJ);
foreach ($result2 as $row) {
echo '<option value="' . htmlentities($row->Subject) .
'">' . htmlentities($row->Subject) . '</option>';
}
?>
</select>
</div>
<div class="form-group">
<label for="description" class="form-control-
25
label">Description (if Any)</label>
<textarea name="description" id="description" class="form-
control"
7. Admin profile
<?php
session_start();
error_reporting(0);
include('includes/dbconnection.php');
if (strlen($_SESSION['trmsaid']) == 0) {
header('location:logout.php');
} else {
if (isset($_POST['submit'])) {
$adminid = $_SESSION['trmsaid'];
$AName = $_POST['adminname'];
$mobno = $_POST['mobilenumber'];
$email = $_POST['email'];
if ($query) {
echo '<script>alert("Your profile has been updated")</script>';
echo "<script>window.location.href='adminprofile.php'</script>";
} else {
echo '<script>alert("Something Went Wrong. Please try again")</script>';
echo "<script>window.location.href='adminprofile.php'</script>";
}
}
}
?>
<!doctype html>
<html class="no-js" lang="en">
<head>
<title>TRMS Admin Profile</title>
<link rel="apple-touch-icon" href="apple-icon.png">
<link rel="stylesheet" href="../vendors/bootstrap/dist/css/bootstrap.min.css">
<link rel="stylesheet" href="../vendors/font-awesome/css/font-awesome.min.css">
<link rel="stylesheet" href="../vendors/themify-icons/css/themify-icons.css">
<link rel="stylesheet" href="../vendors/flag-icon-css/css/flag-icon.min.css">
<link rel="stylesheet" href="../vendors/selectFX/css/cs-skin-elastic.css">
<link rel="stylesheet" href="../assets/css/style.css">
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,600,700,800'
26
rel='stylesheet' type='text/css'>
</head>
<body>
<?php include_once('includes/sidebar.php'); ?>
<div id="right-panel" class="right-panel">
<?php include_once('includes/header.php'); ?>
<div class="breadcrumbs">
<div class="col-sm-4">
<div class="page-header float-left">
<div class="page-title">
<h1>Admin Profile</h1>
</div>
</div>
</div>
<div class="col-sm-8">
<div class="page-header float-right">
<div class="page-title">
<ol class="breadcrumb text-right">
<li><a href="dashboard.php">Dashboard</a></li>
<li><a href="adminprofile.php">Admin Profile</a></li>
<li class="active">Update</li>
</ol>
</div>
</div>
</div>
</div>
<div class="content mt-3">
<div class="animated fadeIn">
<div class="row">
<div class="col-lg-6">
<!-- .card -->
</div>
<!--/.col-->
<div class="col-lg-12">
<div class="card">
<div class="card-header">
<strong>Admin</strong><small> Profile</small>
</div>
<form name="profile" method="post" action="">
<div class="card-body card-block">
<?php
$sql = "SELECT * FROM tbladmin WHERE ID = :adminid";
$query = $dbh->prepare($sql);
$query->bindParam(':adminid', $_SESSION['trmsaid'],
PDO::PARAM_STR);
$query->execute();
$results = $query->fetchAll(PDO::FETCH_OBJ);
$cnt = 1;
if ($query->rowCount() > 0) {
27
foreach ($results as $row) {
?>
<div class="form-group">
<label for="adminname" class="form-control-
label">Admin Name</label>
<input type="text" name="adminname" value="<?php
echo htmlentities($row->AdminName); ?>" class="form-control" required='true'>
</div>
<div class="form-group">
<label for="username" class="form-control-label">User
Name</label>
<input type="text" name="username" value="<?php
echo htmlentities($row->UserName); ?>" class="form-control" readonly="">
</div>
<div class="form-group">
<label for="mobilenumber" class="form-control-
label">Contact Number</label>
<input type="text" name="mobilenumber" value="<?
php echo htmlentities($row->MobileNumber); ?>" class="form-control"
maxlength='10' required='true'>
</div>
<div class="form-group">
<label for="email"
class="form-control-label">Email</label>
<input type="email" name="email" value="<?php echo
htmlentities($row->Email); ?>" class="form-control" required='true'>
</div>
<div class="form-group">
<label for="adminregdate" class="form-control-
label">Admin Registration Date</label>
<input type="text" name="adminregdate" value="<?php
echo htmlentities($row->AdminRegdate); ?>" readonly="" class="form-control">
</div>
<?php
$cnt = $cnt + 1;
}
}
?>
</div>
<div class="card-footer">
<p style="text-align: center;">
<button type="submit" class="btn btn-primary btn-sm"
name="submit" id="submit">
<i class="fa fa-dot-circle-o"></i> Update
</button>
</p>
</div>
</form>
</div>
</div>
28
</div>
<!-- .animated -->
</div>
<!-- .content -->
</div>
<!-- /#right-panel -->
<!-- Right Panel -->
<script src="../vendors/jquery/dist/jquery.min.js"></script>
<script src="../vendors/popper.js/dist/umd/popper.min.js"></script>
<script src="../vendors/jquery-validation/dist/jquery.validate.min.js"></script>
<script
src="../vendors/jquery-validation-unobtrusive/dist/jquery.validate.unobtrusive.min.js"
></script>
<script src="../vendors/bootstrap/dist/js/bootstrap.min.js"></script>
<script src="../assets/js/main.js"></script>
</body>
</html>
8. Forgot password
<?php
session_start();
error_reporting(0);
include('includes/dbconnection.php');
if(isset($_POST['submit'])) {
$email = $_POST['email'];
$mobile = $_POST['mobile'];
$newpassword = md5($_POST['newpassword']);
if($query->rowCount() > 0) {
$con = "UPDATE tbladmin SET Password=:newpassword WHERE
Email=:email AND MobileNumber=:mobile";
$chngpwd1 = $dbh->prepare($con);
$chngpwd1->bindParam(':email', $email, PDO::PARAM_STR);
$chngpwd1->bindParam(':mobile', $mobile, PDO::PARAM_STR);
$chngpwd1->bindParam(':newpassword', $newpassword, PDO::PARAM_STR);
$chngpwd1->execute();
echo "<script>alert('Your Password has been successfully changed');</script>";
} else {
echo "<script>alert('Email id or Mobile number is invalid');</script>";
}
}
29
?>
<!DOCTYPE html>
<html class="no-js" lang="en">
<head>
<title>TRMS Forgot Password</title>
<link rel="apple-touch-icon" href="apple-icon.png">
<link rel="stylesheet" href="../vendors/bootstrap/dist/css/bootstrap.min.css">
<link rel="stylesheet" href="../vendors/font-awesome/css/font-awesome.min.css">
<link rel="stylesheet" href="../vendors/themify-icons/css/themify-icons.css">
<link rel="stylesheet" href="../vendors/flag-icon-css/css/flag-icon.min.css">
<link rel="stylesheet" href="../vendors/selectFX/css/cs-skin-elastic.css">
<link rel="stylesheet" href="../assets/css/style.css">
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,600,700,800'
rel='stylesheet' type='text/css'>
<script type="text/javascript">
function valid() {
if (document.chngpwd.newpassword.value !=
document.chngpwd.confirmpassword.value) {
alert("New Password and Confirm Password do not match!!");
document.chngpwd.confirmpassword.focus();
return false;
}
return true;
}
</script>
</head>
30
<div class="form-group">
<label>New Password</label>
<input class="form-control" type="password"
name="newpassword" required="true"/>
</div>
<div class="form-group">
<label>Confirm Password</label>
<input class="form-control" type="password"
name="confirmpassword" required="true" />
</div>
<button type="submit" class="btn btn-success btn-flat m-b-30 m-t-30"
name="submit">Reset</button>
</form>
</div>
</div>
</div>
</div>
<script src="../vendors/jquery/dist/jquery.min.js"></script>
<script src="../vendors/popper.js/dist/umd/popper.min.js"></script>
<script src="../vendors/bootstrap/dist/js/bootstrap.min.js"></script>
<script src="../assets/js/main.js"></script>
</body>
</html>
9. Change password
<?php
session_start();
error_reporting(0);
include('includes/dbconnection.php');
if(strlen($_SESSION['trmsaid']) == 0) {
header('location:logout.php');
} else {
if(isset($_POST['submit'])) {
$adminid = $_SESSION['trmsaid'];
$cpassword = md5($_POST['currentpassword']);
$newpassword = md5($_POST['newpassword']);
if($query->rowCount() > 0) {
$con = "UPDATE tbladmin SET Password=:newpassword WHERE ID=:adminid";
31
$chngpwd1 = $dbh->prepare($con);
$chngpwd1->bindParam(':adminid', $adminid, PDO::PARAM_STR);
$chngpwd1->bindParam(':newpassword', $newpassword, PDO::PARAM_STR);
$chngpwd1->execute();
echo '<script>alert("Your password has been successfully changed")</script>';
} else {
echo '<script>alert("Your current password is wrong")</script>';
}
}
}
?>
<!DOCTYPE html>
<html class="no-js" lang="en">
<head>
<title>CCMS Change Password</title>
<link rel="apple-touch-icon" href="apple-icon.png">
<link rel="stylesheet" href="../vendors/bootstrap/dist/css/bootstrap.min.css">
<link rel="stylesheet" href="../vendors/font-awesome/css/font-awesome.min.css">
<link rel="stylesheet" href="../vendors/themify-icons/css/themify-icons.css">
<link rel="stylesheet" href="../vendors/flag-icon-css/css/flag-icon.min.css">
<link rel="stylesheet" href="../vendors/selectFX/css/cs-skin-elastic.css">
<link rel="stylesheet" href="../assets/css/style.css">
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,600,700,800'
rel='stylesheet' type='text/css'>
<script type="text/javascript">
function checkpass() {
if(document.changepassword.newpassword.value !=
document.changepassword.confirmpassword.value) {
alert('New Password and Confirm Password fields do not match');
document.changepassword.confirmpassword.focus();
return false;
}
return true;
}
</script>
</head>
<body>
<!-- Left Panel -->
<?php include_once('includes/sidebar.php');?>
<div id="right-panel" class="right-panel">
<!-- Header-->
<?php include_once('includes/header.php');?>
<div class="breadcrumbs">
<div class="col-sm-4">
<div class="page-header float-left">
<div class="page-title">
<h1>Change Password</h1>
32
</div>
</div>
</div>
<div class="col-sm-8">
<div class="page-header float-right">
<div class="page-title">
<ol class="breadcrumb text-right">
<li><a href="dashboard.php">Dashboard</a></li>
<li><a href="change-password.php">Change Password</a></li>
<li class="active">Change</li>
</ol>
</div>
</div>
</div>
</div>
<div class="content mt-3">
<div class="animated fadeIn">
<div class="row">
<div class="col-lg-6">
<!-- .card -->
</div>
<!--/.col-->
<div class="col-lg-12">
<div class="card">
<div class="card-header">
<strong>Change</strong><small> Password</small>
</div>
<form name="changepassword" method="post" onsubmit="return
checkpass();" action="">
<div class="card-body card-block">
<div class="form-group">
<label for="company" class=" form-control-label">Current
Password</label>
<input type="password" name="currentpassword"
id="currentpassword" class="form-control" required="">
</div>
<div class="form-group">
<label for="vat" class=" form-control-label">New
Password</label>
<input type="password" name="newpassword" class="form-
control" required="">
</div>
<div class="form-group">
<label for="street" class=" form-control-label">Confirm
Password</label>
<input type="password" name="confirmpassword"
id="confirmpassword" value="" class="form-control">
</div>
</div>
<p style="text-align: center;">
33
<button type="submit" class="btn btn-primary btn-sm"
name="submit" id="submit">
<i class="fa fa-dot-circle-o"></i> Change
</button>
</p>
</form>
</div>
</div>
</div><!-- .animated -->
</div><!-- .content -->
</div><!-- /#right-panel -->
<!-- Right Panel -->
<script src="../vendors/jquery/dist/jquery.min.js"></script>
<script src="../vendors/popper.js/dist/umd/popper.min.js"></script>
<script src="../vendors/jquery-validation/dist/jquery.validate.min.js"></script>
<script
src="../vendors/jquery-validation-unobtrusive/dist/jquery.validate.unobtrusive.min.js"></
script>
<script src="../vendors/bootstrap/dist/js/bootstrap.min.js"></script>
<script src="../assets/js/main.js"></script>
</body>
</html>
34
SNAPSHOTS
35
36
37
38
39
40
41
42
FUTURE SCOPE
To create student and parent module.
The creation of student and parent module allows the students and the parents to take
advantage of the project and allows them to see the necessary information.
To add attendance details to the required modules.
The addition of the attendance module increases the use of the program more, as the
students can view their real-time updated attendance list.
To add fees payment system.
The fees module allows the student to pay or see the due fees amount, this module
allows the parents or students to easily pay the fees
To add students marks list.
This module allows the students to see their marks, this allows the teachers to easily
announce the marks to the students, as its easy to update the students marks in the
program.
43
CONCLUSION
This Application provides an online version of Teacher Record Management System which
will benefit the school who want to maintain records of teacher and also help to person who
search teacher according to his/her requirement. It makes entire process online and can
generate reports.
The Application was designed in such a way that future changes can be done easily. The
following conclusions can be deduced from the development of the project.
• Automation of the entire system improves the productivity.
• It provides a friendly graphical user interface which proves to be better when compared to
the existing system.
• It gives appropriate access to the authorized users depending on their permissions.
• It effectively overcomes the delay in communications.
• Updating of information becomes so easier.
• System security, data security and reliability are the striking features.
• The System has adequate scope for modification in future if it is necessary.
44
References and Bibliography:
Books: -
Head First PHP
SQL QuickStart Guide: The Simplified Beginner’s Guide to Managing, Analyzing,
and Manipulating Data With SQL
A byte of HTML.
Programming HTML.
Software Engineering.
Database management system.
Head First HTML and CSS.
Learning web Design.
PHP & MySQL web development.
Programming PHP.
HTML & CSS.
HTML
Web Source: -
http://www.bluedart.com/
http://www.xamppserver.com/en/
http://www.php.net/
http://youtube.com/
http://www.tutorialspoint.com/mysql/
https//apache.org/docs/2.0/misc/tutorials.
45
46