Professional Documents
Culture Documents
developed using Sublime Text as front end, PHP as coding language, MYSQL as back end.
This main objective of this project is to develop a web application for exam
planning and seat scheduling. This application will reduce the work burden of staffs for seat
allocation and reallocation. In some cases seat allocation is a tedious practice this is because
these work can be done through manual, also many confusions may occur during scheduling
like staff allocation, Room allocation and seating arrangement. Also sometimes repeat of roll
number and class rooms may occur. For these cases a single change in the classroom or roll
number may affect the entire schedule system. This case makes uncomfortable for both staffs
and students in the last minute of examination. And these problems will occur during all
exams. Basically scheduling Exam is a time consuming job for administrators. Many
So the primary goal of this system is to find a good scheduling program that
result in an efficient use of each exam hall, in relation to time, space, and constraints. This
application will supports for web based application for multiple user access. Also here Jquery
and Java script are enabled for client server operation module; So that all departments can be
inter related using internet connection. Backups can be taken for each exam also allocation
The basic input of this project is user data like number of staffs, number of
blocks, number of students and exam details. These data will be taken as input and scheduled
for even class room allocation using a prior Procedure. So that One touch program can be
enabled here for exam management. In case of changes in class room or staffs of students the
allocation result may get changed. At that time reallocation should be done for best result.
1
OBJECTIVE:
4. User friendly.
2
1. INTRODUCTION
1.1 ORGANIZATION PROFILE
3
1.2 SYSTEM SPECIFICATION
4
1.3 SOFTWARE FEATURES
PHP
PHP is a server-side scripting language designed for web development but also used as
a general-purpose programming language. Originally created by Rasmus Lerdorf in 1994, the
PHP reference implementation is now produced by The PHP Group PHP originally stood
for Personal Home Page, but it now stands for the recursive backronym PHP: Hypertext
Preprocessor.
The standard PHP interpreter, powered by the Zend Engine, is free software released under
the PHP License. PHP has been widely ported and can be deployed on most web servers on
almost every operating system and platform, free of charge.[7]
The PHP language evolved without a written formal specification or standard until 2014,
leaving the canonical PHP interpreter as a de facto standard. Since 2014 work has gone on to
create a formal PHP specification.
5
group comp.infosystems.www.authoring.cgi on June 8, 1995. This release already had the
basic functionality that PHP has as of 2013. This included Perl-like variables, form handling,
and the ability to embed HTML. The syntax resembled that of Perl but was simpler, more
limited and less consistent.
Early PHP was not intended to be a new programming language, and grew organically, with
Lerdorf noting in retrospect: "I don’t know how to stop it, there was never any intent to write
a programming language […] I have absolutely no idea how to write a programming
language, I just kept adding the next logical step on the way." A development team began to
form and, after months of work and beta testing, officially released PHP/FI 2 in November
1997.
The fact that PHP was not originally designed but instead was developed organically has led
to inconsistent naming of functions and inconsistent ordering of their parameters. In some
cases, the function names were chosen to match the lower-level libraries which PHP was
"wrapping", while in some very early versions of PHP the length of the function names was
used internally as a hash function, so names were chosen to improve the distribution of hash
values. PHP 3 and 4
Zeev Suraski and Andi Gutmans rewrote the parser in 1997 and formed the base of PHP 3,
changing the language's name to the recursive acronym PHP: Hypertext Preprocessor.
Afterwards, public testing of PHP 3 began, and the official launch came in June 1998.
Suraski and Gutmans then started a new rewrite of PHP's core, producing the Zend Engine in
1999. They also founded Zend Technologies in Ramat Gan, Israel.
On May 22, 2000, PHP 4, powered by the Zend Engine 1.0, was released. As of August 2008
this branch reached version 4.4.9. PHP 4 is no longer under development nor will any
security updates be released
PHP 5
On July 13, 2004, PHP 5 was released, powered by the new Zend Engine II. PHP 5 included
new features such as improved support for object-oriented programming, the PHP Data
Objects (PDO) extension (which defines a lightweight and consistent interface for accessing
databases), and numerous performance enhancements. [22] In 2008 PHP 5 became the only
stable version under development. Late static binding had been missing from PHP and was
added in version 5.3.
6
Many high-profile open-source projects ceased to support PHP 4 in new code as of February
5, 2008, because of the GoPHP5 initiative, provided by a consortium of PHP developers
promoting the transition from PHP 4 to PHP 5. Over time, PHP interpreters became available
on most existing 32-bit and 64-bit operating systems, either by building them from the PHP
source code, or by using pre-built binaries. [28] For the PHP versions 5.3 and 5.4, the only
available Microsoft Windows binary distributions were 32-bit x86 builds, requiring Windows
32-bit compatibility mode while using Internet Information Services (IIS) on a 64-bit
Windows platform. PHP version 5.5 made the 64-bit x86-64 builds available for Microsoft
Windows.[31]
PHP received mixed reviews due to lacking native Unicode support at the core language
level. In 2005, a project headed by Andrei Zmievski was initiated to bring native Unicode
support throughout PHP, by embedding the International Components for Unicode (ICU)
library, and representing text strings as UTF-16 internally. Since this would cause major
changes both to the internals of the language and to user code, it was planned to release this
as version 6.0 of the language, along with other major features then in development.
However, a shortage of developers who understood the necessary changes, and performance
problems arising from conversion to and from UTF-16, which is rarely used in a web context,
led to delays in the project As a result, a PHP 5.3 release was created in 2009, with many
non-Unicode features back-ported from PHP 6, notably namespaces. In March 2010, the
project in its current form was officially abandoned, and a PHP 5.4 release was prepared
containing most remaining non-Unicode features from PHP 6, such as traits and closure re-
binding. Initial hopes were that a new plan would be formed for Unicode integration, but as
of 2014 none has been adopted.
PHP
During 2014 and 2015, a new major PHP version was developed, which was numbered PHP
7. The numbering of this version involved some debate. [38] While the PHP 6 Unicode
experiment had never been released, several articles and book titles referenced the PHP 6
name, which might have caused confusion if a new release were to reuse the name. After a
vote, the name PHP 7 was chosen.
7
aimed to optimize PHP performance by refactoring the Zend Engine while retaining near-
complete language compatibility. As of 14 July 2014, WordPress-based benchmarks, which
served as the main benchmark suite for the phpng project, showed an almost 100% increase
in performance. Changes from phpng are also expected to make it easier to improve
performance in the future, as more compact data structures and other changes are seen as
better suited for a successful migration to a just-in-time (JIT) compiler. Because of the
significant changes, the reworked Zend Engine is called Zend Engine 3, succeeding Zend
Engine 2 used in PHP 5.
Many fatal- or recoverable-level legacy PHP error mechanisms were replaced with
modern object-oriented exceptions
The syntax for variable dereferencing was reworked to be internally more consistent
and complete, allowing the use of the operators ->, [], (), {}, and :: with arbitrary
meaningful left-hand-side expressions
Constructors for the few classes built-in to PHP which returned null upon failure were
changed to throw an exception instead, for consistency
8
Support for hexadecimal number support in some implicit conversions from strings to
number types was removed
Conversions between integers and floating point numbers were tightened and
implemented more consistently across platforms
PHP 7 also included new language features. Most notably, it introduces return type
declarations for functions which complement the existing parameter type declarations, and
support for the scalar types (integer, float, string, and boolean) in parameter and return type
declarations
MySQL is a popular choice of database for use in web applications, and is a central
component of the widely used LAMPopen-source web application software stack (and other
"AMP" stacks). LAMP is an acronym for "Linux, Apache, MySQL,Perl/PHP/Python". Free-
software open-source projects that require a full-featured database management system often
use MySQL. Applications that use the MySQL database
include: TYPO3, MODx, Joomla, WordPress, phpBB, MyBB, Drupal and other software.
MySQL is also used in many high-profile, large-scale websites, including Google[12]
[13]
(though not for searches), Facebook, Twitter Flickr, and YouTube. On all platforms except
Windows, MySQL ships with no GUI tools to administer MySQL databases or manage data
contained within the databases. Users may use the included command line tools, or
install MySQL Workbench via a separate download.
9
Deployment
MySQL can be built and installed manually from source code, but it is more commonly
installed from a binary package unless special customizations are required. On most Linux
distributions, the package management system can download and install MySQL with
minimal effort, though further configuration is often required to adjust security and
optimization settings.
There are however limits to how far performance can scale on a single server ('scaling up'), so
on larger scales, multi-server MySQL ('scaling out') deployments are required to provide
improved performance and reliability. A typical high-end configuration can include a
powerful master database which handles data write operations and is replicated to multiple
slaves that handle all read operations The master server continually pushes binlog events to
connected slaves so in the event of failure a slave can be promoted to become the new master,
10
minimizing downtime. Further improvements in performance can be achieved by caching the
results from database queries in memory using memcached, or breaking down a database into
smaller chunks called shards which can be spread across a number of distributed server
clusters.
2. SYSTEM STUDY
EXISTING SYSTEM:
11
12
2.2 PROPOSED SYSTEM
Here the validation plays am important role like numeric validation, data
validation and character validation also done in this project. So system will not accept
unwanted data and irrelevant data, this is the best case to avoid garbage collection. By using
these methods data redundancy will be avoid and the performance of the database can be
increased. The advantages of the proposed system are follows.
Masters are available for one time data storage like class room creation, student’s
creation, department creation and staffs creations.
One touch exam scheduling can be enabled.
Backups can be taken for prior exams and reuse can be done through data wise.
No need for more staffs for allocation only one admin enough to schedule all the
exam process in the college, even exam schedule can be done at the last minute of the
examinations.
Unlimited data can be stored in the stored in the database.
Can be accessed through internet, so that multiple users can be accessed at same time.
13
3. SYSTEM DESIGN AND DEVELOPMENT
14
3.3 OUTPUT DESIGN
Reports are generated with the up-to-date details according to user requirement. The
report produced should be only concise with only necessary information. No unnecessary
information should be produced in the output reports.
The most important aspect of building the system is database design. Instead of each
program managing its own data, the authorized persons share date across application with
database an entity. It is logical development in the methods used by the computers to access
manipulated data stored in the various parts of computer system. It is data base information
from several files is co-ordination, accessed and operated upon as through it is a single file. A
database is a collection of interrelated data stored with a minimum redundancy to serve many
users quickly and efficiently. The objective is to make information access easy and quick,
inexpensive, and flexible to the user. While designing a database several objectives must be
considered.
15
Normalization:
First Normal Form is calls for the elimination of repeated groups of data by creating
separate tables of related data.1NF - A relation in which the intersection of each row and
column contains one and only one value.
16
Transitive dependency: A condition where A, B and C are attributes of a relation such
That is A → B and B → C, then C is transitively dependent on A via B Provided that A is not
functionally dependent on B or C.
A relation that is in 1NF and 2NF and which no non-primary key attribute is
transitively dependent on the primary key.
Conversion 2NF → 3NF.
Remove transitive dependencies: the transitively dependent attributes are removed
from the relation by placing them in a new relation along with a copy of their determinant.
The normalization process decomposes the original relation using a series of relation
algebra projections. This result in a lossless decomposition, which is reversible using the
natural join operation (primary key / foreign key mechanism).
MODULES
1. Admin
2. Teacher Management
3. Student Management
4. Class Management
5. Exam Management
17
MODULES DESCRIPTION:
ADMIN MODULE
Here admin has to login by using their unique username and password. Admin is the only
permit person to access this module for security purpose. So other users don’t get rights to
TEACHER MODULE:
In this module the faculties can sign up by providing the necessary details. The
faculties can then login and view the allotted hall number and session.
STUDENT MODULE:
18
In this module the students can then login and view the allotted hall number and seat number
In this module Admin can update the necessary details for generating seating
arrangement. The details to be specified includes room numbers, the capacity of the rooms,
COURSE MODULE:
All the required courses are created in the course master and the system also
shows the available courses. The students are allotted with these courses.
EXAM MANAGEMENT
This module will be interrelated with master module so that the data
accessing can be done easily. Here the data saved from the various master tables can be
displayed, so that the admin can select their required details for class room allocation. While
selecting the departments the courses will be shown, after selecting the courses the concern
19
staff and class room details will be enabled. So that admin can able to view the available seats
in the prior class rooms. This process will be done through data validation using java script.
Automatically students will be allocated through these methods. Thus class room, staffs and
20
4. TESTING AND IMPLEMENTATION
System testing is the final step in which the entire system form whole with all forms of
code and class modules. It is used to uncover the weakness of the system that was found in
earlier tests and the total system is tested for recovery and fallback after major failure to
ensure that no data are lost during the emergency. Record locking was checked for the
particular transaction to avoid duplications. Only, after transaction is complete the record is
released.
UNIT TESTING
Order process module when the product has been added to the cart it has been made
sure that if the item already exists in the shopping cart then the quantity increased by one else
new item is added to the shopping cart.
Gallery module has been tested that all images are displayed properly.
Cart details has been tested when user edits a quantity or remove a product from the
cart, total price is updated accordingly. Visual studio 2008 has in built support for testing
application and it can be done without the need of any external application, tests run under
the PHP context which means settings from the web con fig file are automatically picked up
once the test case starts running. Methods are written to retrieve all manufacturers from the
database, all images that belong to the particular products gets retrieved automatically by
generating the methods.
INTEGRATION TESTING
All the modules were integrated after the completion of unit test. While Top - Down
Integration was followed, the modules are integrated by moving downward through the
control hierarchy, beginning with the main module. Since the modules were unit - tested for
21
no errors, the integration of those modules was found perfect and working fine. As a next step
to integration, other modules were integrated with the former modules.
The logical path through the software are tested by providing the test case that exercise
the specific sets of conditions and loops, at every stage of project development, the logics of
the programs have been tested by applying invalid inputs and generating respective error
messages, loops and conditional statements are tested to the boundary conditions and validate
properly.
22
VALIDATION TESTING
Software Testing and Validation is achieved through serried of black box tests that
demonstrate conformity with the requirements. A test plan outlines the classes of tests to be
conducted and a test procedure defines specific test cases that will be used to demonstrate
conformity with requirements. Both the plan and the procedure are designed to ensure that all
functional requirements are achieved, documentation is correct and other requirements are
met.
TEST CASES
In order to fully test that all the requirements of an application are met, there must be
at least two test cases for each requirement: one positive test and one negative test; unless a
requirement has sub-requirements. In that situation, each sub-requirement must have at least
two test cases. Keeping track of the link between the requirement and the test is frequently
done using a traceability matrix. Written test cases should include a description of the
functionality to be tested, and the preparation required to ensure that the test can be
conducted. What characterizes a formal, written test case is that there is a known input and an
expected output, which is worked out before the test is executed. The known input should test
a precondition and the expected output should test a post condition.
23
Informal Test Cases
For applications or systems without formal requirements, test cases can be written
based on the accepted normal operation of programs of a similar class. In some schools of
testing, test cases are not written at all but the activities and results are reported after the tests
have been run. In scenario testing, hypothetical stories are used to help the tester think
through a complex problem or system. The ideal scenario test is a story that is motivating,
credible, complex, and easy to evaluate. They are usually different from test cases in that test
cases are single steps while scenarios cover a number of steps.
The user then changes over to this new fully tested system and old system is
discontinued. Implementation is one of the most important tasks in project is the phase in
which one has to be cautions because all the efforts undertaken during the project will be very
interactive. Implementation is the most crucial stage in achieving successful system and
giving the users confidence that the new system is workable and effective.
Each program is tested individually at the time of development using the sample data
and has verified that these programs link together in the way specified in the program
specification. The computer system and its environment are tested to the satisfaction of the
user.
Careful planning
Investigation of the current system and its constraints
Design of methods to achieve the change over
An evaluation of change over methods apart from planning
The implementation phase comprises of several activities
TRAINING ACTIVITIES
In the implementation of any new system, it is necessary to ensure that the consumer
community is best positioned to utilize the system once deployment efforts have been
24
validated. Therefore, all necessary training activities must be scheduled and coordinated. As
this training is often the first exposure to the system for many individuals, it should be
conducted as professionally and competently as possible.
A positive training experience is a great first step towards customer acceptance of the
system. During system implementation it is essential that everyone involved be absolutely
synchronized with the deployment plan and with each other. Often the performance of
deployment efforts impacts many of the performing organization’s normal business
operations.
SYSTEM MAINTENANCE
The maintenance phase of the software life cycle is the time period in which a software
product performs useful work. For maintaining this system properly the following points are
to be followed strictly. The executable file of forms and repots are given to the end users.
Also the backup should be taken in order to safe guard the system. Maintenance activities
involve making enhancement to software products, adapting products to new environment
and correction problems. Software product enhancement may involve providing new
functional capabilities, improving use displays and modes of interaction, upgrading external
documents and internal documentation or upgrading the performance characteristics of a
system.
25
5. CONCLUSION
5.1 CONCLUSION
The Project titled “EXAM HALL ARRANGEMENT TOOL” is tested with sample
data and found to be working well. The project has been completed successfully with the
maximum satisfaction of the organization. It has been designed to meet the requirements.
This software was tested and found to work satisfactorily without any problem. Various test
factors are also followed; it was error free and was found to work satisfactorily.
Testing and implementation are done successfully. The system satisfies all
requirements needed by the user. I conclude the software as best to my knowledge.
The window application has developed in such way that enhancement can be done
easily. The changes can be updated with less time and have no risk to add a new modules.
The system will be improved for further enhancements, whenever the user needs an
additional feature. It also helps to enhance their window application and thus it is helpful for
the growth of the organization.
The below mentioned enhancements are likely to happen in the near future. The
system can be easily upgraded to hold these features.
After administrator authentication of user name and password for employees, the user
name and password can be sent via Mail and SMS to particular user.
This project can be further enhanced based on the future trends and strategies.
26
BIBLIOGRAPHY
REFERENCE BOOKS
1) Programming Introduction to PHP 4.0 Edition paperback bt W Jason Gilmore
2) Head First PHP & MYSQL by Lynn Beighley and Michael Morrison 1st Edition
O'Reilly Media
3) Beginning PHP & MYSQL from Novice To Professional by W. Jason Gilmore 4th
Edition by Apress
REFERENCE WEBSITES
www.PHP/index.comhttp://www.tizag.com
http://www.php.net
http://www.phpbuddy.com
https://derickrethans.nl/talks/phparch-php-variables-article.pdf
27
B. TABLE STRUCTURE
28
TABLE NAME: STUDENT
TABLE NAME:TEACHER
29
C. SAMPLE CODING
Login
<?php session_start();?>
<?php include('head.php');?>
<link rel="stylesheet" href="popup_style.css">
<?php
include('connect.php');
if(isset($_POST['btn_login']))
{
$unm = $_POST['email'];
$sql = "SELECT * FROM admin WHERE email='" .$unm . "' and password = '".
$_POST['password']."'";
$result = mysqli_query($conn,$sql);
$row = mysqli_fetch_array($result);
$_SESSION["id"] = $row['id'];
$_SESSION["username"] = $row['username'];
$_SESSION["password"] = $row['password'];
$_SESSION["email"] = $row['email'];
$_SESSION["fname"] = $row['fname'];
$_SESSION["lname"] = $row['lname'];
$_SESSION["image"] = $row['image'];
$count=mysqli_num_rows($result);
if($count==1 && isset($_SESSION["email"]) && isset($_SESSION["password"]))
{
?>
<div class="popup popup--icon -success js_success-popup popup--visible">
<div class="popup__background"></div>
<div class="popup__content">
<h3 class="popup__content__title">
Success
</h1>
<p>Login Successfully</p>
<p>
<?php
}
else {?>
<div class="popup popup--icon -error js_error-popup popup--visible">
<div class="popup__background"></div>
30
<div class="popup__content">
<h3 class="popup__content__title">
Error
</h1>
<p>Invalid Email or Password</p>
<p>
<a href="login.php"><button class="button button--error" data-for="js_error-
popup">Close</button></a>
</p>
</div>
</div>
<?php
}
?>
<div id="main-wrapper">
<div class="unix-login">
<?php
$sql_login = "select * from manage_website";
$result_login = $conn->query($sql_login);
$row_login = mysqli_fetch_array($result_login);
?>
<div class="container-fluid" style="background-image:
url('uploadImage/Logo/1.jpg<?php //echo $row_login['background_login_image'];?>');
background-image: url('uploadImage/exam.png ">
<div class="row justify-content-center" >
<div class="col-lg-4">
<div class="login-content card">
<div class="login-form">
<center><!--<img src="uploadImage/Logo/1.png" style="width:50%;">--
></center><br>
<form method="POST">
<div class="form-group">
<b><font face="cambria"
size="20">            L
OGIN</font></b>
<br><br><br>
<!--<label>Email address</label>-->
<input type="email" name="email" class="form-control"
placeholder="Email" required="">
</div>
<div class="form-group">
<!--<label>Password</label>-->
<input type="password" name="password" class="form-control"
placeholder="Password" required="">
</div>
31
<div class="checkbox">
<!--<label class="pull-right">
<a href="forgot_password.php">Forgotten Password?</a>
</label> -->
</div>
<button type="submit" name="btn_login" class="btn btn-primary btn-
flat m-b-30 m-t-30">Sign in</button>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="js/lib/jquery/jquery.min.js"></script>
<script src="js/lib/bootstrap/js/popper.min.js"></script>
<script src="js/lib/bootstrap/js/bootstrap.min.js"></script>
<script src="js/jquery.slimscroll.js"></script>
<script src="js/sidebarmenu.js"></script>
<script src="js/lib/sticky-kit-master/dist/sticky-kit.min.js"></script>
<script src="js/custom.min.js"></script>
</body>
</html>
View Student:
<?php include('head.php');?>
<?php include('header.php');?>
<?php include('sidebar.php');
if(isset($_GET['id']))
{ ?>
<div class="popup popup--icon -question js_question-popup popup--visible">
<div class="popup__background"></div>
32
<div class="popup__content">
<h3 class="popup__content__title">
Sure
</h1>
<p>Are You Sure To Delete This Record?</p>
<p>
<a href="del_student.php?id=<?php echo $_GET['id']; ?>" class="button button--
success" data-for="js_success-popup">Yes</a>
<a href="view_student.php" class="button button--error" data-for="js_success-
popup">No</a>
</p>
</div>
</div>
<?php } ?>
<div class="page-wrapper">
<div class="container-fluid">
<div class="card">
<div class="card-body">
<?php if(isset($useroles)){ if(in_array("add_student",$useroles)){ ?>
<a href="add_student.php"><button class="btn btn-primary">Add
Student</button></a>
<?php } } ?>
<div class="table-responsive m-t-40">
<table id="myTable" class="table table-bordered table-striped">
<thead>
<tr>
<th>First Name</th>
<th>Last Name</th>
<th>Class</th>
<th>Email</th>
<th>Gender</th>
<th>Birth Date</th>
<th>Contact No.</th>
<th>Address</th>
<th>Action</th>
33
</tr>
</thead>
<tbody>
<?php
include 'connect.php';
$sql = "SELECT * FROM `tbl_student`";
$result = $conn->query($sql);
$i=0;
while($row = $result->fetch_assoc()) {
$sql2 = "SELECT * FROM `tbl_class` WHERE id='".
$row['classname']."'";
$result2=$conn->query($sql2);
$row2=$result2->fetch_assoc();
?>
<tr>
<td><?php echo $row['sfname']; ?></td>
<td><?php echo $row['slname']; ?></td>
<td><?php echo $row2['classname']; ?></td>
<td><?php echo $row['semail']; ?></td>
<td><?php echo $row['sgender']; ?></td>
<td><?php echo $row['sdob']; ?></td>
<td><?php echo $row['scontact']; ?></td>
<td><?php echo $row['saddress']; ?></td>
<td>
<?php if(isset($useroles)){ if(in_array("edit_student",$useroles)){ ?>
<a href="edit_student.php?id=<?php echo $row['id'];?
>"><button type="button" class="btn btn-xs btn-primary" ><i class="fa
fa-plus-square"></i></button></a>
<?php } } ?>
</td>
</tr>
<?php $i++;}
?>
</tbody>
</table>
</div>
</div>
</div>
<?php include('footer.php');?>
34
<link rel="stylesheet" href="popup_style.css">
<?php if(!empty($_SESSION['success'])) { ?>
<div class="popup popup--icon -success js_success-popup popup--visible">
<div class="popup__background"></div>
<div class="popup__content">
<h3 class="popup__content__title">
Success
</h1>
<p><?php echo $_SESSION['success']; ?></p>
<p>
<button class="button button--success" data-for="js_success-popup">Close</button>
</p>
</div>
</div>
<?php unset($_SESSION["success"]);
} ?>
<?php if(!empty($_SESSION['error'])) { ?>
<div class="popup popup--icon -error js_error-popup popup--visible">
<div class="popup__background"></div>
<div class="popup__content">
<h3 class="popup__content__title">
Error
</h1>
<p><?php echo $_SESSION['error']; ?></p>
<p>
<button class="button button--error" data-for="js_error-popup">Close</button>
</p>
</div>
</div>
<?php unset($_SESSION["error"]); } ?>
<script>
var addButtonTrigger = function addButtonTrigger(el) {
el.addEventListener('click', function () {
var popupEl = document.querySelector('.' + el.dataset.for);
popupEl.classList.toggle('popup--visible');
});
};
Array.from(document.querySelectorAll('button[data-for]')).
forEach(addButtonTrigger);
</script>
35
D. SAMPLE INPUT
ADMIN Dashboard:
View Teachers
36
View Student
View Allotment
37
38