Attendance System
Attendance System
1. INTRODUCTION
1
Attendance Management System
• To Design and Implement the User Interface: Create an intuitive and user-
friendly interface for administrators, teachers, and students to interact with the
system.
• To Develop the Attendance Recording Module: Implement a module that allows
teachers to easily record student attendance and mark absences.
• To Create an Administrative Dashboard: Provide administrators with a
dashboard to manage users, classes, and attendance records.
• To Implement User Authentication and Authorization: Ensure secure access to
the system through role-based authentication and authorization mechanisms.
• To Develop Reporting and Analytics Features: Generate various attendance
reports and analytics to help administrators and teachers monitor attendance
patterns and identify issues.
• To Ensure Data Security and Integrity: Implement measures to protect the data
from unauthorized access and ensure the accuracy and reliability of the
attendance records.
Scope:
The scope of the project is the system on which the software is installed, i.e. the project
is developed as a desktop application, and it will work for a particular institute. But
later on the project can be modified to operate it online.
• User Roles: The system will support multiple user roles, including
administrators and class teachers, each with specific permissions and access
levels.
• Attendance Management: Teachers will be able to mark daily attendance,
view historical attendance records, and generate reports for individual students
or entire classes.
• Class and Student Management: Administrators will manage the setup of
classes, assign teachers, and enroll students into their respective classes.
2
Attendance Management System
• Session and Term Management: The system will allow for the creation and
management of academic sessions and terms.
• Reporting: Generate detailed attendance reports, including daily, weekly,
monthly, and termly reports, which can be exported for further analysis.
• Authentication and Security: Implement secure login and authentication
mechanisms to ensure that only authorized users can access the system.
Limitations
• Initial Data Entry: The initial setup, including entering student and class
information, can be time-consuming and may require administrative effort.
• Hardware Requirements: Users will need access to computers or mobile
devices with internet access, which might be a limitation for some users.
• Scalability: The system is designed for small to medium-sized educational
institutions and might require significant modifications to support very large
institutions with thousands of students and multiple campuses.
• Customization: The system is designed with a general structure in mind and
may require customization to fit the specific needs of different educational
institutions.
3.1 Administrator
3
Attendance Management System
• Enhanced Security: Ensures that attendance data is securely stored and only
accessible by authorized personnel, protecting student privacy and data
integrity.
• Resource Management: Helps in better management of resources by providing
insights into student attendance, which can influence decisions on resource
allocation.
4. DEFINITION OF TERMS
4
Attendance Management System
4.2 Feasibility
Feasibility refers to the assessment of how practical and viable a proposed project or
system is. It includes evaluating technical, economic, operational, and legal factors to
determine whether the project can be successfully implemented. For the Student
Attendance Management System, feasibility studies would consider factors like cost,
available technology, user requirements, and potential benefits.
4.3 Hardware
Hardware refers to the physical components of a computer system that are required to
run the software. For the Student Attendance Management System, the necessary
hardware might include servers to host the application, computers, tablets, or
smartphones for users (administrators, teachers, and students) to access the system, and
networking equipment to ensure reliable internet connectivity.
4.4 MySQL
4.5 Report
Types of Reports:
5
Attendance Management System
4.6 Software
Software refers to the programs and other operating information used by a computer.
In this context, it includes the Student Attendance Management System application
itself, which consists of the front-end interface (user interface) and back-end
components (server-side scripts, database management). The software is responsible
for handling all the operations of the attendance system, from recording attendance to
generating reports.
6
Attendance Management System
Several existing systems have been developed to manage attendance, each with unique
features and functionalities:
• Manual Attendance Registers: Traditional method using paper and pen, prone to
errors and inefficiencies.
• Biometric Attendance Systems: Utilize fingerprint or facial recognition
technology to mark attendance, offering high accuracy but requiring specialized
hardware.
• RFID-based Systems: Use Radio Frequency Identification tags to automatically
record attendance when students pass by RFID readers. Effective but involves
additional costs for tags and readers.
• Mobile and Web-based Applications: Offer flexible and convenient ways to
manage attendance. Examples include Google Classroom and other educational
management platforms that incorporate attendance tracking as part of their feature
set.
7
Attendance Management System
• Notifications and Alerts: Sends alerts for absenteeism, and generates notifications
for important events related to attendance.
Security and privacy are crucial aspects of any system that handles personal and
sensitive data:
• Data Encryption: Ensures that data transmitted between clients and servers is
encrypted, protecting it from unauthorized access.
• Authentication and Authorization: Implements robust mechanisms to verify user
identities and control access to various parts of the system based on user roles.
• Data Protection Regulations: Compliance with regulations such as GDPR
(General Data Protection Regulation) to protect personal data and ensure privacy.
• Audit Trails: Maintains logs of all activities within the system to detect and
investigate any unauthorized access or suspicious activities.
• Backup and Recovery: Regular data backups and a recovery plan to ensure data
integrity in case of system failures or breaches.
8
Attendance Management System
• Voice Recognition: AI can use voice recognition to mark attendance, which can be
particularly useful in remote or hybrid learning environments.
6. METHODOLOGY
The methodology, planning, analysis, and design phases are critical to the successful
development and implementation of the Student Attendance Management System.
Each phase involves detailed activities and deliverables that contribute to building a
reliable, efficient, and user-friendly system. By following a structured approach, the
project aims to meet the requirements of stakeholders and provide a robust solution for
managing student attendance
6.3 Development
Implement the user interface using HTML, CSS, JavaScript, and front-end
frameworks. Develop server-side logic using PHP or another back-end language,
and set up the MySQL database. Integrate front-end and back-end components,
ensuring seamless interaction between the client and server.
9
Attendance Management System
6.4 Testing
6.5 Deployment
• Server Setup: Set up the server environment and deploy the application.
• Data Migration: Transfer existing attendance data to the new system, if
applicable.
• User Training: Provide training sessions for administrators and teachers to
familiarize them with the system.
6.6 Maintenance
7. PLANNING
10
Attendance Management System
8. Analysis
Analysis can be defined as breaking up of any whole so as to find out their nature,
function etc. It defines design as to make preliminary sketches of; to sketch a pattern or
outline for plan. To plan and carry out especially by artistic arrangement or in a skilful
wall. System analysis and design can be characterized as a set of techniques and
processes, a community of interests, a culture and an intellectual orientation. The
various tasks in the system analysis include the following. Understanding application.
Planning. Scheduling. Developing candidate solution. Performing trade studies.
Performing cost benefit analysis. Recommending alternative solutions. Supervising,
installing and maintaining the system. This system manages to the analysis of the report
creation and develops manual entry of the student attendance. First design the students
entry form , staff allocation and time table allocation forms. This project will helps the
attendance system for the department calculate percentage and reports for eligibility
criteria of examination .The application attendance entry system will provide flexible
report for all students.
11
Attendance Management System
12
Attendance Management System
9. DESIGNING
The design phase involves creating detailed architectural diagrams, database schemas,
user interface designs, and security plans for the Student Attendance Management
System. The design phase ensures a comprehensive and detailed blueprint for the
Student Attendance Management System. By focusing on system architecture, database
design, user interface design, security design, and integration design, the project is well-
prepared for development and implementation, ensuring a robust, secure, and user-
friendly solution.
13
Attendance Management System
14
Attendance Management System
The architectural diagram interface of hardware for the Student Attendance Management
System illustrates the interaction between different hardware components.
12.1 Testing
Once source code has been generated, software must be tested to uncover (and correct)
as many errors as possible before delivery to customer. Our goal is to design a series of
test cases that have a high likelihood of finding errors. To uncover the errors software
techniques are used. These techniques provide systematic guidance for designing test
that Exercise the internal logic of software components, and Exercise the input and
output domains of the program to uncover errors In program function, behavior and
performance.
Internal program logic is exercised using ―White box test case design Techniques.
Software requirements are exercised using ―block box test case Design techniques.
In both cases, the intent is to find the maximum number of errors with the Minimum
amount of effort and time. Following testing techniques are well known and the same
strategy is adopted during this project testing.
Unit testing Unit testing focuses verification effort on the smallest unit of software
design- the software component or module. The unit test is white-box oriented. The unit
testing implemented in every module of student attendance management System. by
giving correct manual input to the system ,the data are stored in database and retrieved.
If you want required module to access input or gets the output from the End user. Any
error will accrued the time will provide handler to show what type of error will accrued.
System testing is actually a series of different tests whose primary purpose is to fully
exercise the computer-based system. It is to check all modules worked on input basis
.if you want change any values or inputs will change all information. so specified input
is must.
Performance testing is designed to test the run-time performance of software within the
context of an integrated system. Performance testing occurs throughout all steps in the
15
Attendance Management System
testing process. Even at the unit level, the performance of an individual module may be
assessed as white-box tests are conducted. This project reduce attendance table, codes.
it will generate report fast.no have extra time or waiting of results .entered correct data
will show result few millisecond. just used only low memory of our system.
Automatically do not getting access at another software. Get user permission and access
to other applications
Integration Testing: Ensure modules interact correctly. Test interactions between the
front-end and back-end, database, and application server.
12.2 Implementation
• Deployment Planning: Prepare a deployment plan, including steps for server setup, data
migration, and user training.
• Server Setup: Configure the server environment, including the application server and
database server.
• Data Migration: Transfer existing attendance records and user data to the new system.
• User Training: Provide training sessions and materials for administrators and teachers.
• Go-Live: Launch the system and monitor for any issues.
• Post-Implementation Support: Offer ongoing support and maintenance.
Server:
• RAM: 16 GB or higher
16
Attendance Management System
Workstations:
• RAM: 8 GB or higher
Server:
Workstations:
• Manual Attendance: Existing system is a manual entry for the students. Here the
attendance will be carried out in the hand written registers. It will be a tedious job to
maintain the record for the user. The human effort is more here. The retrieval of the
information is not as easy as the records are maintained in the hand written registers.
• Basic Digital Systems: Simple electronic systems with limited features, often requiring
manual data entry. This application requires correct feed on input into the respective
field. Suppose the wrong inputs are entered, the application resist to work. so the user
find it difficult to use.
17
Attendance Management System
18
Attendance Management System
To overcome the drawbacks of the existing system, the proposed system has been
evolved. This project aims to reduce the paper work and saving time to generate
accurate results from the student’s attendance. The system provides with the best user
interface. The efficient reports can be generated by using this proposed system.
19
Attendance Management System
20
Attendance Management System
<html lang="en">
<body id="page-top">
<div id="wrapper"> <h1 class="h3 mb-0 text-gray-800">Create Class</h1>
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="./">Home</a></li>
<li class="breadcrumb-item active" aria-current="page">Create
Class</li>
</ol>
</div>
<div class="row">
<div class="col-lg-12">
<!-- Form Basic -->
<div class="card mb-4">
<div class="card-header py-3 d-flex flex-row align-items-center justify-
content-between">
<h6 class="m-0 font-weight-bold text-primary">Create Class</h6>
<?php echo $statusMsg; ?>
</div>
<div class="card-body">
<form method="post">
<div class="form-group row mb-3">
<div class="col-xl-6">
<label class="form-control-label">Class Name<span
class="text-danger ml-2">*</span></label>
<input type="text" class="form-control" name="className"
value="<?php echo $row['className'];?>" id="exampleInputFirstName"
placeholder="Class Name">
</div> </div>
<?php
if (isset($Id)) { ?>
<button type="submit" name="update" class="btn btn-
warning">Update</button>
21
Attendance Management System
<?php
} else {
?>
<button type="submit" name="save" class="btn btn-
primary">Save</button>
<?php
} ?>
</form> </div> </div>
<!-- Input Group -->
<div class="row">
<div class="col-lg-12">
<div class="card mb-4">
<div class="card-header py-3 d-flex flex-row align-items-center justify-
content-between">
<h6 class="m-0 font-weight-bold text-primary">All Classes</h6>
</div>
<div class="table-responsive p-3">
<table class="table align-items-center table-flush table-hover"
id="dataTableHover">
<thead class="thead-light">
<tr>
<th>#</th>
<th>Class Name</th>
<th>Edit</th>
<th>Delete</th>
</tr> </thead> <tbody>
<?php
$query = "SELECT * FROM tblclass";
$rs = $conn->query($query);
22
Attendance Management System
$num = $rs->num_rows;
$sn=0;
if($num > 0)
{
while ($rows = $rs->fetch_assoc())
{
$sn = $sn + 1;
echo"
<tr>
<td>".$sn."</td>
<td>".$rows['className']."</td>
<td><a href='?action=edit&Id=".$rows['Id']."'><i class='fas
fa-fw fa-edit'></i>Edit</a></td>
<td><a href='?action=delete&Id=".$rows['Id']."'><i
class='fas fa-fw fa-trash'></i>Delete</a></td>
</tr>";
} }
else { echo "<div class='alert alert-danger' role='alert'>No Record
Found!
</div>";
} ?>
</tbody> </table>
</div> </div> < /div> </div> </div>
</body></html>
Createclassarms.php
<?php
error_reporting(0);
include '../Includes/dbcon.php';
include '../Includes/session.php';
if(isset($_POST['save'])){
23
Attendance Management System
$classId=$_POST['classId'];
$classArmName=$_POST['classArmName'];
$query=mysqli_query($conn,"select * from tblclassarms where
classArmName ='$classArmName' and classId = '$classId'");
$ret=mysqli_fetch_array($query);
if($ret > 0){
$statusMsg = "<div class='alert alert-danger' style='margin-
right:700px;'>This Class Arm Already Exists!</div>";
} else{
$query=mysqli_query($conn,"insert into
tblclassarms(classId,classArmName,isAssigned)
value('$classId','$classArmName','0')");
if ($query) {
$statusMsg = "<div class='alert alert-success' style='margin-
right:700px;'>Created Successfully!</div>";
} else {
$statusMsg = "<div class='alert alert-danger' style='margin-
right:700px;'>An error Occurred!</div>";
} }}
if (isset($_GET['Id']) && isset($_GET['action']) && $_GET['action'] == "edit")
{ $Id= $_GET['Id'];
$query=mysqli_query($conn,"select * from tblclassarms where Id ='$Id'");
$row=mysqli_fetch_array($query);
if(isset($_POST['update'])){
$classId=$_POST['classId'];
$classArmName=$_POST['classArmName'];
$query=mysqli_query($conn,"update tblclassarms set classId = '$classId',
classArmName='$classArmName' where Id='$Id'");
if ($query) {
echo "<script type = \"text/javascript\">
window.location = (\"createClassArms.php\")
</script>";
24
Attendance Management System
} else {
$statusMsg = "<div class='alert alert-danger' style='margin-
right:700px;'>An error Occurred!</div>";
} } }
if (isset($_GET['Id']) && isset($_GET['action']) && $_GET['action'] ==
"delete")
{
$Id= $_GET['Id'];
$query = mysqli_query($conn,"DELETE FROM tblclassarms WHERE
Id='$Id'");
if ($query == TRUE) {
echo "<script type = \"text/javascript\">
window.location = (\"createClassArms.php\")
</script>";
} else{
$statusMsg = "<div class='alert alert-danger' style='margin-
right:700px;'>An error Occurred!</div>";
} }?>
<!DOCTYPE html>
<html lang="en">
<body id="page-top">
<div id="wrapper">
<!-- Sidebar -->
<?php include "Includes/sidebar.php";?>
<!-- Sidebar -->
<div id="content-wrapper" class="d-flex flex-column">
<div id="content">
<!-- TopBar -->
<?php include "Includes/topbar.php";?>
<!-- Topbar -->
<!-- Container Fluid-->
25
Attendance Management System
26
Attendance Management System
<?php
} else {
?>
<button type="submit" name="save" class="btn btn-
primary">Save</button>
<?php } ?>
</form> </div> </div>
<!-- Input Group -->
27
Attendance Management System
<div class="row">
<div class="col-lg-12">
<div class="card mb-4">
<div class="card-header py-3 d-flex flex-row align-items-center justify-
content-between">
<h6 class="m-0 font-weight-bold text-primary">All Class Arm</h6>
</div>
<div class="table-responsive p-3">
<table class="table align-items-center table-flush table-hover"
id="dataTableHover">
<thead class="thead-light">
<tr>
<th>#</th>
<th>Class Name</th>
<th>Class Arm Name</th>
<th>Status</th>
<th>Edit</th>
<th>Delete</th>
</tr>
</thead>
<tbody>
<?php
$query = "SELECT
tblclassarms.Id,tblclassarms.isAssigned,tblclass.className,tblclassarms.classAr
mName
FROM tblclassarms
INNER JOIN tblclass ON tblclass.Id = tblclassarms.classId";
$rs = $conn->query($query);
$num = $rs->num_rows;
$sn=0;
28
Attendance Management System
$status="";
if($num > 0)
{
while ($rows = $rs->fetch_assoc())
{
if($rows['isAssigned'] == '1'){$status = "Assigned";}else{$status
= "UnAssigned";}
$sn = $sn + 1;
echo"
<tr>
<td>".$sn."</td>
<td>".$rows['className']."</td>
<td>".$rows['classArmName']."</td>
<td>".$status."</td>
<td><a href='?action=edit&Id=".$rows['Id']."'><i class='fas
fa-fw fa-edit'></i>Edit</a></td>
<td><a href='?action=delete&Id=".$rows['Id']."'><i
class='fas fa-fw fa-trash'></i>Delete</a></td>
</tr>"; }
} else {
echo
"<div class='alert alert-danger' role='alert'>
No Record Found!
</div>";
} ?>
</tbody> </table>
</div> </div> </div> </div> </div>
</body>
</html>
Createclassteacher.php
29
Attendance Management System
<?php
error_reporting(0);
include '../Includes/dbcon.php';
include '../Includes/session.php';
if(isset($_POST['save'])){
$firstName=$_POST['firstName'];
$lastName=$_POST['lastName'];
$emailAddress=$_POST['emailAddress'];
$phoneNo=$_POST['phoneNo'];
$classId=$_POST['classId'];
$classArmId=$_POST['classArmId'];
$dateCreated = date("Y-m-d");
$query=mysqli_query($conn,"select * from tblclassteacher where
emailAddress ='$emailAddress'");
$ret=mysqli_fetch_array($query);
$sampPass = "pass123";
$sampPass_2 = md5($sampPass);
if($ret > 0){
$statusMsg = "<div class='alert alert-danger' style='margin-
right:700px;'>This Email Address Already Exists!</div>";
} else{
$query=mysqli_query($conn,"INSERT into
tblclassteacher(firstName,lastName,emailAddress,password,phoneNo,classId,cla
ssArmId,dateCreated)
value('$firstName','$lastName','$emailAddress','$sampPass_2','$phoneNo','$cla
ssId','$classArmId','$dateCreated')");
if ($query) {
$qu=mysqli_query($conn,"update tblclassarms set isAssigned='1'
where Id ='$classArmId'");
if ($qu) {
$statusMsg = "<div class='alert alert-success' style='margin-
right:700px;'>Created Successfully!</div>";
30
Attendance Management System
} else {
$statusMsg = "<div class='alert alert-danger' style='margin-
right:700px;'>An error Occurred!</div>";
} }
else {
$statusMsg = "<div class='alert alert-danger' style='margin-
right:700px;'>An error Occurred!</div>";
} }}
if (isset($_GET['Id']) && isset($_GET['action']) && $_GET['action'] == "edit")
{
$Id= $_GET['Id'];
$query=mysqli_query($conn,"select * from tblclassteacher where Id
='$Id'");
$row=mysqli_fetch_array($query);
if(isset($_POST['update'])){
$firstName=$_POST['firstName'];
$lastName=$_POST['lastName'];
$emailAddress=$_POST['emailAddress'];
$phoneNo=$_POST['phoneNo'];
$classId=$_POST['classId'];
$classArmId=$_POST['classArmId'];
$dateCreated = date("Y-m-d");
$query=mysqli_query($conn,"update tblclassteacher set
firstName='$firstName', lastName='$lastName',
emailAddress='$emailAddress', password='$password',phoneNo='$phoneNo',
classId='$classId',classArmId='$classArmId'
where Id='$Id'");
if ($query) {
echo "<script type = \"text/javascript\">
window.location = (\"createClassTeacher.php\")
</script>";
31
Attendance Management System
} else {
$statusMsg = "<div class='alert alert-danger' style='margin-
right:700px;'>An error Occurred!</div>";
} } }
if (isset($_GET['Id']) && isset($_GET['classArmId']) &&
isset($_GET['action']) && $_GET['action'] == "delete")
{
$Id= $_GET['Id'];
$classArmId= $_GET['classArmId'];
$query = mysqli_query($conn,"DELETE FROM tblclassteacher WHERE
Id='$Id'");
if ($query == TRUE) {
$qu=mysqli_query($conn,"update tblclassarms set isAssigned='0' where
Id ='$classArmId'");
if ($qu) {
echo "<script type = \"text/javascript\">
window.location = (\"createClassTeacher.php\")
</script>";
} else {
$statusMsg = "<div class='alert alert-danger' style='margin-
right:700px;'>An error Occurred!</div>";
}
} else{
$statusMsg = "<div class='alert alert-danger' style='margin-
right:700px;'>An error Occurred!</div>";
} } ?>
Createstudent.php
<?php
error_reporting(0);
include '../Includes/dbcon.php';
include '../Includes/session.php';
if(isset($_POST['save'])){
32
Attendance Management System
$firstName=$_POST['firstName'];
$lastName=$_POST['lastName'];
$otherName=$_POST['otherName'];
$admissionNumber=$_POST['admissionNumber'];
$classId=$_POST['classId'];
$classArmId=$_POST['classArmId'];
$dateCreated = date("Y-m-d");
$query=mysqli_query($conn,"select * from tblstudents where
admissionNumber ='$admissionNumber'");
$ret=mysqli_fetch_array($query);
if($ret > 0){
$statusMsg = "<div class='alert alert-danger' style='margin-
right:700px;'>This Email Address Already Exists!</div>";
} else{
$query=mysqli_query($conn,"insert into
tblstudents(firstName,lastName,otherName,admissionNumber,password,classId,
classArmId,dateCreated)
value('$firstName','$lastName','$otherName','$admissionNumber','12345','$clas
sId','$classArmId','$dateCreated')");
if ($query) {
$statusMsg = "<div class='alert alert-success' style='margin-
right:700px;'>Created Successfully!</div>";
} else {
$statusMsg = "<div class='alert alert-danger' style='margin-
right:700px;'>An error Occurred!</div>";
} }}
if (isset($_GET['Id']) && isset($_GET['action']) && $_GET['action'] == "edit")
{
$Id= $_GET['Id'];
$query=mysqli_query($conn,"select * from tblstudents where Id ='$Id'");
$row=mysqli_fetch_array($query);
if(isset($_POST['update'])){
33
Attendance Management System
$firstName=$_POST['firstName'];
$lastName=$_POST['lastName'];
$otherName=$_POST['otherName'];
$admissionNumber=$_POST['admissionNumber'];
$classId=$_POST['classId'];
$classArmId=$_POST['classArmId'];
$dateCreated = date("Y-m-d");
$query=mysqli_query($conn,"update tblstudents set firstName='$firstName',
lastName='$lastName',
otherName='$otherName',
admissionNumber='$admissionNumber',password='12345',
classId='$classId',classArmId='$classArmId'
where Id='$Id'");
if ($query) {
echo "<script type = \"text/javascript\">
window.location = (\"createStudents.php\")
</script>";
} else {
$statusMsg = "<div class='alert alert-danger' style='margin-
right:700px;'>An error Occurred!</div>";
} } }
if (isset($_GET['Id']) && isset($_GET['action']) && $_GET['action'] ==
"delete")
{
$Id= $_GET['Id'];
$classArmId= $_GET['classArmId'];
$query = mysqli_query($conn,"DELETE FROM tblstudents WHERE
Id='$Id'");
if ($query == TRUE) {
echo "<script type = \"text/javascript\">
window.location = (\"createStudents.php\")
</script>";
34
Attendance Management System
} else{
$statusMsg = "<div class='alert alert-danger' style='margin-
right:700px;'>An error Occurred!</div>";
} }?>
Takeattendance.php
<?php
error_reporting(0);
include '../Includes/dbcon.php';
include '../Includes/session.php';
$query = "SELECT tblclass.className,tblclassarms.classArmName
FROM tblclassteacher
INNER JOIN tblclass ON tblclass.Id = tblclassteacher.classId
INNER JOIN tblclassarms ON tblclassarms.Id = tblclassteacher.classArmId
Where tblclassteacher.Id = '$_SESSION[userId]'";
$rs = $conn->query($query);
$num = $rs->num_rows;
$rrw = $rs->fetch_assoc();
35
Attendance Management System
$count = mysqli_num_rows($qurty);
if($count == 0){
$qus=mysqli_query($conn,"select * from tblstudents where classId =
'$_SESSION[classId]' and classArmId = '$_SESSION[classArmId]'");
while ($ros = $qus->fetch_assoc())
{
$qquery=mysqli_query($conn,"insert into
tblattendance(admissionNo,classId,classArmId,sessionTermId,status,dateTimeTa
ken)
value('$ros[admissionNumber]','$_SESSION[classId]','$_SESSION[classArmId]
','$sessionTermId','0','$dateTaken')");
}}
if(isset($_POST['save'])){
$admissionNo=$_POST['admissionNo'];
$check=$_POST['check'];
$N = count($admissionNo);
$status = "";
$qurty=mysqli_query($conn,"select * from tblattendance where classId =
'$_SESSION[classId]' and classArmId = '$_SESSION[classArmId]' and
dateTimeTaken='$dateTaken' and status = '1'");
$count = mysqli_num_rows($qurty);
if($count > 0){
$statusMsg = "<div class='alert alert-danger' style='margin-
right:700px;'>Attendance has been taken for today!</div>";
}
else //update the status to 1 for the checkboxes checked
{
for($i = 0; $i < $N; $i++)
{
$admissionNo[$i]; //admission Number
36
Attendance Management System
{
$qquery=mysqli_query($conn,"update tblattendance set status='1'
where admissionNo = '$check[$i]'");
if ($qquery) {
$statusMsg = "<div class='alert alert-success' style='margin-
right:700px;'>Attendance Taken Successfully!</div>";
}
else
{
$statusMsg = "<div class='alert alert-danger' style='margin-
right:700px;'>An error Occurred!</div>";
} } } } ?>
Viewattendancde.php
<?php
error_reporting(0);
include '../Includes/dbcon.php';
include '../Includes/session.php';
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
37
Attendance Management System
<title>Dashboard</title>
</head>
<body id="page-top">
<div id="wrapper">
<div id="content">
<ol class="breadcrumb">
</ol>
</div>
38
Attendance Management System
<div class="row">
<div class="col-lg-12">
<div class="card-body">
<form method="post">
<div class="col-xl-6">
</div>
</div> -->
</div>
39
Attendance Management System
</form>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<th>#</th>
<th>First Name</th>
<th>Last Name</th>
<th>Other Name</th>
<th>Admission No</th>
<th>Class</th>
<th>Class Arm</th>
<th>Session</th>
40
Attendance Management System
<th>Term</th>
<th>Status</th>
<th>Date</th>
if(isset($_POST['view'])){
$dateTaken = $_POST['dateTaken'];
$query="SELECTtblattendance.Id,tblattendance.status,tblattendance.dateTime
Taken,tblclass.className,
tblclassarms.classArmName,tblsessionterm.sessionName,tblsessionterm.termId,t
blterm.termName,
tblstudents.firstName,tblstudents.lastName,tblstudents.otherName,tblstudents.a
dmissionNumber
FROM tblattendance
$rs = $conn->query($query);
$num = $rs->num_rows;
41
Attendance Management System
$sn = $sn + 1;
echo" <tr>
<td>".$sn."</td>
<td>".$rows['firstName']."</td>
<td>".$rows['lastName']."</td>
<td>".$rows['otherName']."</td>
<td>".$rows['admissionNumber']."</td>
<td>".$rows['className']."</td>
<td>".$rows['classArmName']."</td>
<td>".$rows['sessionName']."</td>
<td>".$rows['termName']."</td>
<td style='background-color:".$colour."'>".$status."</td>
<td>".$rows['dateTimeTaken']."</td>
</tr>"; } }
</div>";} } ?>
</body>
</html>
42
Attendance Management System
18.1 Dashboard
43
Attendance Management System
44
Attendance Management System
45
Attendance Management System
46
Attendance Management System
47
Attendance Management System
48
Attendance Management System
Conclusion
The proposed Student Attendance Management System addresses the limitations of traditional
attendance methods by providing an automated, efficient, and secure solution. The system
enhances data accuracy, reduces administrative workload, and provides real-time access to
attendance records.
Recommendation
• Training: Provide comprehensive training for users to maximize the system's benefits.
• Continuous Improvement: Regularly update the system based on user feedback and
technological advancements.
49
Attendance Management System
20. REFERENCE
• Rao, D. R., & Kumar, N. (2014). Efficient Method for Automated Attendance
Management. International Journal of Computer Applications, 98(14).
• Singh, H., & Pandey, S. (2019). Enhancing Student Attendance System using Facial
Recognition Technology. Journal of Advanced Research in Dynamical and Control
Systems, 11(3).
50