Beruflich Dokumente
Kultur Dokumente
ON
Online Examination
Submitted To
Course Name
(Semester IV )
By
Pragati Verma
Declaration
Place : AJMER
Pragati Verma
Table of Content
1. Introduction.........................................................................................................1
1.1. Project Overview....................................................................................1
1.2. Purpose...................................................................................................1
1.3. Scope......................................................................................................1
1.4. Definitions, Acronyms............................................................................1
4. User Interfaces...................................................................................................35
4.1. Home Page...........................................................................................35
4.2. Registration..........................................................................................36
4.3. Login Interface.....................................................................................37
4.4. Create Questions Interface...................................................................37
4.5. Report...................................................................................................38
3. References.........................................................................................................43
Online Quiz
1. Introduction
1.1. Project Overview
This project assesses students by conducting online objective tests. The tests would be
highly customizable. This project will enable educational institutes to conduct test and
have automated checking of answers based on the response by the candidates.
The project allows faculties to create their own tests. It would enable educational
institutes to perform tests, quiz and create feedback forms. It asks faculty to create
his/her set of questions. Faculty then creates groups and adds related students into the
groups. Further the tests are associated with specific groups so that only associated
students can appear for the test. The result of the response would be available to the
faculty of the question set. Further the result would also be mailed to the student. This
project would be helpful for creating practice tests, say for educational institutes and
as a feedback form.
1.2. Purpose
Responses by the candidates will be checked automatically and instantly.
Online examination will reduce the hectic job of assessing the answers given by
the candidates.
Can generate various reports almost instantly when and where required.
1.3. Scope
This project would be very useful for educational institutes where regular
evaluation of students is required. Further it can also be useful for anyone who
requires feedback based on objective type responses.
1.
Student User mostly a student who will appear for the examination
Page 1 of 77
Online Quiz
2.
Administrator Super user, adds faculty and manages system.
Page 2 of 77
Online Quiz
Administrator Aspect
2. Creating a test
Student Aspect:
1. Requesting registration
9. Changing password.
Analysis
Page 3 of 77
Online Quiz
Page 4 of 77
Online Quiz
None
Page 5 of 77
Online Quiz
The project being web based required compatibility with at least the popular web
browsers. Microsoft Windows XP and above, Linux and Macintosh being the current
popular operating system and Microsoft Internet Explorer, Mozilla Firefox, Opera,
Safari and Google Chrome being the currently popular web browsers.
Operating System
Browsers
Modern Browsers
Page 6 of 77
Online Quiz
Page 7 of 77
Online Quiz
The questionnaires and their respective options provided by the faculty may or may
not be in English. Hence the questions and their options must be in Unicode format
that will accept any Unicode character.
The system will mostly be in US English, although the questions and their options
may not be in US English. Hence the questions and their options are to be in Unicode
format.
Locale Date Format Time Format Currency Format Calendar Character Set
en-US Use Default Use Default Use Default Use Default SBCS
The following table lists all the possible area in the system and also mentions whether
that area should support Globalization.
Logos, Images No
Unit of Measurement ( Ex. Length, Weight, Area, Volume, Paper Size etc) No
Reports Yes*
Page 8 of 77
Online Quiz
Page 9 of 77
Online Quiz
2.3.3. Security
Password will not be mailed to the user in case user forgets password, instead
either temporary password or a password reset link will be sent.
2.3.4. Reliability
2.3.5. Availability
Though the system should be available 24x7 some features may be restricted.
Quiz creator may allow the specific test to be available only at certain time like
scheduled examination.
The test may be time limited so the candidates appearing will have limited time to
answer the test.
2.3.6. Portability
The web application will be built using PHP which has support to run on any platform
provided the required compilers are available.
For database either XML or MySQL would be used, that too has extensive support
over many popular architectures and operating systems.
Page 10 of 77
Online Quiz
Constraints:
Portability would be limited to the support provided by the respective application vendor on
various architectures and operating environments.
2.3.7. Performance
The system would be used by multiple users at a time and may grow as time passes;
the system would need to implement multithreading to achieve acceptable
performance. Further a database connection pool may also be required for assigning
faster database connection.
Database fields for questions and respective options must be in Unicode format to
handle non English characters
2.5. Technologies
This section lists all the technologies for the web based system.
PHP scripting for server side scripting as it has a very strong support for XML and
MySQL.
XML as database format: The database performance requirements are not very high
and the ability to have custom fields in case the quiz creator needs to add more than
expected answer options. This is limited in any other database management system
where we have to first specify the maximum number of fields.
Apache as web server has a tight integration with PHP and is also available for
various popular platforms.
2.6. Software
2.7. Hardware
The recommended hardware specified by the respective software would suffice the
needs. The memory and processing power needed would increase as the number of
users increase. The estimated hardware requirements are as specified.
2.7.1. Server
Page 11 of 77
Online Quiz
1 GB of RAM
Network interface
2.7.2. Client
The minimum hardware as recommended by all of the software required on client side
say web browser, operating system
Page 12 of 77
Online Quiz
Page 13 of 77
Online Quiz
Page 14 of 77
Online Quiz
Page 15 of 77
Online Quiz
Page 16 of 77
Online Quiz
Page 17 of 77
Online Quiz
Page 18 of 77
Online Quiz
Page 19 of 77
Online Quiz
Page 20 of 77
Online Quiz
Page 21 of 77
Online Quiz
Page 22 of 77
Online Quiz
Page 23 of 77
Online Quiz
Page 24 of 77
Online Quiz
Page 25 of 77
Online Quiz
Page 26 of 77
Online Quiz
Page 27 of 77
Online Quiz
Page 28 of 77
Online Quiz
Page 29 of 77
Online Quiz
Page 30 of 77
Online Quiz
Page 31 of 77
Online Quiz
Page 32 of 77
Online Quiz
Page 33 of 77
Online Quiz
studentName Varchar2
loginID Varchar2
password Varchar2
testTitle Varchar2
allowPractice Yes/No
Page 34 of 77
Online Quiz
question Varchar2
option3 Varchar2
option4 Varchar2
allowCustomAns Boolean
wer
userAnswer Varchar2
Page 35 of 77
Online Quiz
optionSelected Unsigned Integer if student does not answer, entry will not
be made in db
Page 36 of 77
Online Quiz
facultyName Varchar2
loginID Varchar2
pass Varchar2
Page 37 of 77
Online Quiz
1.1.
Page 38 of 77
Online Quiz
4. User Interfaces
The interfaces of this system are as below
4.1. Student Login Page
Page 39 of 77
Online Quiz
4.2. Registration
Page 40 of 77
Online Quiz
Page 41 of 77
Online Quiz
Page 42 of 77
Online Quiz
Page 43 of 77
Online Quiz
Page 44 of 77
Online Quiz
Admin Panel:
4.11. Admin Login Panel:
Page 45 of 77
Online Quiz
Page 46 of 77
Online Quiz
Source Code:
1.1. Index.php
<?php
session_start();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Wel come to Online Exam</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="quiz.css" rel="stylesheet" type="text/css">
</head>
<body>
<?php
include("header.php");
include("database.php");
extract($_POST);
if(isset($submit))
{
$rs=mysql_query("select * from mst_user where login='$loginid' and pass='$pass'");
if(mysql_num_rows($rs)<1)
{
$found="N";
}
else
Page 47 of 77
Online Quiz
{
$_SESSION[login]=$loginid;
}
}
if (isset($_SESSION[login]))
{
echo "<h1 class='style8' align=center>Wel come to Online Exam</h1>";
echo '<table width="28%" border="0" align="center">
<tr>
<td width="7%" height="65" valign="bottom"><img src="image/HLPBUTT2.JPG"
width="50" height="50" align="middle"></td>
<td width="93%" valign="bottom" bordercolor="#0000FF"> <a href="sublist.php"
class="style4">Subject for Quiz </a></td>
</tr>
<tr>
<td height="58" valign="bottom"><img src="image/DEGREE.JPG" width="43"
height="43" align="absmiddle"></td>
<td valign="bottom"> <a href="result.php" class="style4">Result </a></td>
</tr>
</table>';
exit;
?>
<table width="100%" border="0">
<tr>
<td width="70%" height="25"> </td>
<td width="1%" rowspan="2" bgcolor="#CC3300"><span class="style6"></span></td>
<td width="29%" bgcolor="#CC3333"><div align="center" class="style1">User Login
</div></td>
</tr>
<tr>
<td height="296" valign="top"><div align="center">
<h1 class="style8">Wel come to Online Quiz</h1>
<span class="style5"><img src="image/paathshala.jpg" width="129"
height="100"><span class="style7"><img src="image/HLPBUTT2.JPG" width="50"
height="50"><img src="image/BOOKPG.JPG" width="43" height="43"></span>
</span>
<param name="movie" value="english theams two brothers.dat">
<param name="quality" value="high">
<param name="movie" value="Drag to a file to choose it.">
<param name="quality" value="high">
<param name="BGCOLOR" value="#FFFFFF">
<p align="left" class="style5"> </p>
<blockquote>
<p align="left" class="style5"><span class="style7">Wel Come to Online
exam. This Site will provide the quiz for various subject of interest.
You need to login for the take the online exam.</span></p>
</blockquote>
</div></td>
<td valign="top"><form name="form1" method="post" action="">
<table width="200" border="0">
<tr>
<td><span class="style2">Login ID </span></td>
Page 48 of 77
Online Quiz
</body>
</html>
1.2. header.php
<style type="text/css">
<!--
body {
margin-left: 0px;
margin-top: 0px;
}
-->
</style>
<table border="0" width="100%" cellspacing="0" cellpadding="0"
background="image/topbkg.jpg">
<tr>
<td width="90%" valign="top">
<!--You can modify the text, color, size, number of loops and more on the flash
header by editing the text file (fence.txt) included in the zip file.-->
Page 49 of 77
Online Quiz
Page 50 of 77
Online Quiz
{
echo " ";
}
?>
</td>
</tr>
</table>
1.3. sublist.php
<?php
session_start();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Online Quiz - Quiz List</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="quiz.css" rel="stylesheet" type="text/css">
</head>
<body>
<?php
include("header.php");
include("database.php");
echo "<h2 class=head1> Select Subject to Give Quiz </h2>";
$rs=mysql_query("select * from mst_subject");
echo "<table align=center>";
while($row=mysql_fetch_row($rs))
{
echo "<tr><td align=center ><a href=showtest.php?subid=$row[0]><font
size=4>$row[1]</font></a>";
}
echo "</table>";
?>
</body>
</html>
1.4. showtest.php
<?php
session_start();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
Page 51 of 77
Online Quiz
<html>
<head>
<title>Online Quiz - Test List</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="quiz.css" rel="stylesheet" type="text/css">
</head>
<body>
<?php
include("header.php");
include("database.php");
extract($_GET);
$rs1=mysql_query("select * from mst_subject where sub_id=$subid");
$row1=mysql_fetch_array($rs1);
echo "<h1 align=center><font color=blue> $row1[1]</font></h1>";
$rs=mysql_query("select * from mst_test where sub_id=$subid");
if(mysql_num_rows($rs)<1)
{
echo "<br><br><h2 class=head1> No Quiz for this Subject </h2>";
exit;
}
echo "<h2 class=head1> Select Quiz Name to Give Quiz </h2>";
echo "<table align=center>";
while($row=mysql_fetch_row($rs))
{
echo "<tr><td align=center ><a href=quiz.php?
testid=$row[0]&subid=$subid><font size=4>$row[2]</font></a>";
}
echo "</table>";
?>
</body>
</html>
1.5. quiz.php
<?php
session_start();
error_reporting(1);
include("database.php");
extract($_POST);
extract($_GET);
extract($_SESSION);
/*$rs=mysql_query("select * from mst_question where test_id=$tid",$cn) or
die(mysql_error());
if($_SESSION[qn]>mysql_num_rows($rs))
{
unset($_SESSION[qn]);
exit;
Page 52 of 77
Online Quiz
}*/
if(isset($subid) && isset($testid))
{
$_SESSION[sid]=$subid;
$_SESSION[tid]=$testid;
header("location:quiz.php");
}
if(!isset($_SESSION[sid]) || !isset($_SESSION[tid]))
{
header("location: index.php");
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Online Quiz</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="quiz.css" rel="stylesheet" type="text/css">
</head>
<body>
<?php
include("header.php");
}
else
{
if($submit=='Next Question' && isset($ans))
{
mysql_data_seek($rs,$_SESSION[qn]);
$row= mysql_fetch_row($rs);
mysql_query("insert into mst_useranswer(sess_id,
test_id, que_des, ans1,ans2,ans3,ans4,true_ans,your_ans) values ('".session_id()."',
$tid,'$row[2]','$row[3]','$row[4]','$row[5]', '$row[6]','$row[7]','$ans')") or
die(mysql_error());
Page 53 of 77
Online Quiz
if($ans==$row[7])
{
$_SESSION[trueans]=$_SESSION[trueans]+1;
}
$_SESSION[qn]=$_SESSION[qn]+1;
}
else if($submit=='Get Result' && isset($ans))
{
mysql_data_seek($rs,$_SESSION[qn]);
$row= mysql_fetch_row($rs);
mysql_query("insert into mst_useranswer(sess_id,
test_id, que_des, ans1,ans2,ans3,ans4,true_ans,your_ans) values ('".session_id()."',
$tid,'$row[2]','$row[3]','$row[4]','$row[5]', '$row[6]','$row[7]','$ans')") or
die(mysql_error());
if($ans==$row[7])
{
$_SESSION[trueans]=$_SESSION[trueans]+1;
}
echo "<h1 class=head1> Result</h1>";
$_SESSION[qn]=$_SESSION[qn]+1;
echo "<Table align=center><tr class=tot><td>Total
Question<td> $_SESSION[qn]";
echo "<tr class=tans><td>True Answer<td>".
$_SESSION[trueans];
$w=$_SESSION[qn]-$_SESSION[trueans];
echo "<tr class=fans><td>Wrong Answer<td> ". $w;
echo "</table>";
mysql_query("insert into
mst_result(login,test_id,test_date,score) values('$login',$tid,'".date("y/m/d")."',
$_SESSION[trueans])") or die(mysql_error());
echo "<h1 align=center><a href=review.php> Review
Question</a> </h1>";
unset($_SESSION[qn]);
unset($_SESSION[sid]);
unset($_SESSION[tid]);
unset($_SESSION[trueans]);
exit;
}
}
$rs=mysql_query("select * from mst_question where test_id=$tid",$cn) or
die(mysql_error());
if($_SESSION[qn]>mysql_num_rows($rs)-1)
{
unset($_SESSION[qn]);
echo "<h1 class=head1>Some Error Occured</h1>";
session_destroy();
Page 54 of 77
Online Quiz
exit;
}
mysql_data_seek($rs,$_SESSION[qn]);
$row= mysql_fetch_row($rs);
echo "<form name=myfm method=post action=quiz.php>";
echo "<table width=100%> <tr> <td width=30> <td> <table border=0>";
$n=$_SESSION[qn]+1;
echo "<tR><td><span class=style2>Que ". $n .": $row[2]</style>";
echo "<tr><td class=style8><input type=radio name=ans value=1>$row[3]";
echo "<tr><td class=style8> <input type=radio name=ans value=2>$row[4]";
echo "<tr><td class=style8><input type=radio name=ans value=3>$row[5]";
echo "<tr><td class=style8><input type=radio name=ans value=4>$row[6]";
if($_SESSION[qn]<mysql_num_rows($rs)-1)
echo "<tr><td><input type=submit name=submit value='Next Question'></form>";
else
echo "<tr><td><input type=submit name=submit value='Get Result'></form>";
echo "</table></table>";
?>
</body>
</html>
1.6. review.php
<?php
session_start();
extract($_POST);
extract($_SESSION);
include("database.php");
if($submit=='Finish')
{
mysql_query("delete from mst_useranswer where sess_id='" .
session_id() ."'") or die(mysql_error());
unset($_SESSION[qn]);
header("Location: index.php");
exit;
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Online Quiz - Review Quiz </title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="quiz.css" rel="stylesheet" type="text/css">
</head>
Page 55 of 77
Online Quiz
<body>
<?php
include("header.php");
echo "<h1 class=head1> Review Test Question</h1>";
if(!isset($_SESSION[qn]))
{
$_SESSION[qn]=0;
}
else if($submit=='Next Question' )
{
$_SESSION[qn]=$_SESSION[qn]+1;
echo "</table></table>";
?>
1.7. result.php
<?php
session_start();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Online Quiz - Result </title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="quiz.css" rel="stylesheet" type="text/css">
Page 56 of 77
Online Quiz
</head>
<body>
<?php
include("header.php");
include("database.php");
extract($_SESSION);
$rs=mysql_query("select t.test_name,t.total_que,r.test_date,r.score from mst_test t,
mst_result r where
t.test_id=r.test_id and r.login='$login'",$cn) or die(mysql_error());
if(document.form1.lid.value=="")
{
alert("Plese Enter Login Id");
document.form1.lid.focus();
return false;
}
if(document.form1.pass.value=="")
Page 57 of 77
Online Quiz
{
alert("Plese Enter Your Password");
document.form1.pass.focus();
return false;
}
if(document.form1.cpass.value=="")
{
alert("Plese Enter Confirm Password");
document.form1.cpass.focus();
return false;
}
if(document.form1.pass.value!=document.form1.cpass.value)
{
alert("Confirm Password does not matched");
document.form1.cpass.focus();
return false;
}
if(document.form1.name.value=="")
{
alert("Plese Enter Your Name");
document.form1.name.focus();
return false;
}
if(document.form1.address.value=="")
{
alert("Plese Enter Address");
document.form1.address.focus();
return false;
}
if(document.form1.city.value=="")
{
alert("Plese Enter City Name");
document.form1.city.focus();
return false;
}
if(document.form1.phone.value=="")
{
alert("Plese Enter Contact No");
document.form1.phone.focus();
return false;
}
if(document.form1.email.value=="")
{
alert("Plese Enter your Email Address");
document.form1.email.focus();
return false;
}
e=document.form1.email.value;
Page 58 of 77
Online Quiz
f1=e.indexOf('@');
f2=e.indexOf('@',f1+1);
e1=e.indexOf('.');
e2=e.indexOf('.',e1+1);
n=e.length;
if(!(f1>0 && f2==-1 && e1>0 && e2==-1 && f1!=e1+1 && e1!
=f1+1 && f1!=n-1 && e1!=n-1))
{
alert("Please Enter valid Email");
document.form1.email.focus();
return false;
}
return true;
}
</script>
<link href="quiz.css" rel="stylesheet" type="text/css">
</head>
<body>
<?php
include("header.php");
?>
<table width="100%" border="0">
<tr>
<td width="132" rowspan="2" valign="top"><span class="style8"><img
src="images/connected_multiple_big.jpg" width="131" height="155"></span></td>
<td width="468" height="57"><h1 align="center"><span class="style8">New
User Signup</span></h1></td>
</tr>
<tr>
<td><form name="form1" method="post" action="signupuser.php"
onSubmit="return check();">
<table width="301" border="0" align="left">
<tr>
<td><div align="left" class="style7">Login Id </div></td>
<td><input type="text" name="lid"></td>
</tr>
<tr>
<td class="style7">Password</td>
<td><input type="password" name="pass"></td>
</tr>
<tr>
<td class="style7">Confirm Password </td>
<td><input name="cpass" type="password" id="cpass"></td>
</tr>
<tr>
Page 59 of 77
Online Quiz
<td class="style7">Name</td>
<td><input name="name" type="text" id="name"></td>
</tr>
<tr>
<td valign="top" class="style7">Address</td>
<td><textarea name="address" id="address"></textarea></td>
</tr>
<tr>
<td valign="top" class="style7">City</td>
<td><input name="city" type="text" id="city"></td>
</tr>
<tr>
<td valign="top" class="style7">Phone</td>
<td><input name="phone" type="text" id="phone"></td>
</tr>
<tr>
<td valign="top" class="style7">E-mail</td>
<td><input name="email" type="text" id="email"></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="Submit" value="Signup">
</td>
</tr>
</table>
</form></td>
</tr>
</table>
<p> </p>
</body>
</html>
1.9. signupuser.php
<body>
<?php
include("header.php");
extract($_POST);
include("database.php");
Page 60 of 77
Online Quiz
?>
</body>
</html>
1.10. signout.php
<?php
session_start();
session_destroy();
header("Location: index.php");
?>
<body>
<?php
include("header.php");
extract($_POST);
if(isset($submit))
Page 61 of 77
Online Quiz
{
include("../database.php");
$rs=mysql_query("select * from mst_admin where loginid='$loginid' and
pass='$pass'",$cn) or die(mysql_error());
if(mysql_num_rows($rs)<1)
{
echo "<BR><BR><BR><BR><div class=head1> Invalid User Name
or Password<div>";
exit;
}
$_SESSION['alogin']="true";
}
else if(!isset($_SESSION[alogin]))
{
echo "<BR><BR><BR><BR><div class=head1> Your are not logged in<br>
Please <a href=index.php>Login</a><div>";
exit;
}
?>
2.2 subadd.php
<?php
session_start();
require("../database.php");
include("header.php");
error_reporting(1);
?>
<link href="../quiz.css" rel="stylesheet" type="text/css">
<?php
extract($_POST);
Page 62 of 77
Online Quiz
echo "<BR>";
if (!isset($_SESSION['alogin']))
{
echo "<br><h2><div class=head1>You are not Logged On Please Login to
Access this Page</div></h2>";
echo "<a href=index.php><h3 align=center>Click Here for Login</h3></a>";
exit();
}
echo "<BR><h3 class=head1>Subject Add </h3>";
Page 63 of 77
Online Quiz
2.3. testadd.php
<?php
session_start();
error_reporting(1);
if (!isset($_SESSION['alogin']))
{
echo "<br><h2>You are not Logged On Please Login to Access this
Page</h2>";
echo "<a href=index.php><h3 align=center>Click Here for Login</h3></a>";
exit();
}
?>
<link href="../quiz.css" rel="stylesheet" type="text/css">
<?php
require("../database.php");
include("header.php");
Page 64 of 77
Online Quiz
function check() {
mt=document.form1.testname.value;
if (mt.length<1) {
alert("Please Enter Test Name");
document.form1.testname.focus();
return false;
}
tt=document.form1.totque.value;
if(tt.length<1) {
alert("Please Enter Total Question");
document.form1.totque.value;
return false;
}
return true;
}
</script>
<form name="form1" method="post" onSubmit="return check();">
<table width="58%" border="0" align="center">
<tr>
<td width="49%" height="32"><div align="left"><strong>Enter Subject ID
</strong></div></td>
<td width="3%" height="5">
<td width="48%" height="32"><select name="subid">
<?php
$rs=mysql_query("Select * from mst_subject order by sub_name",$cn);
while($row=mysql_fetch_array($rs))
{
if($row[0]==$subid)
{
echo "<option value='$row[0]' selected>$row[1]</option>";
}
else
{
echo "<option value='$row[0]'>$row[1]</option>";
}
}
?>
</select>
<tr>
<td height="26"><div align="left"><strong> Enter Test Name
</strong></div></td>
<td> </td>
<td><input name="testname" type="text" id="testname"></td>
</tr>
<tr>
<td height="26"><div align="left"><strong>Enter Total Question
</strong></div></td>
Page 65 of 77
Online Quiz
<td> </td>
<td><input name="totque" type="text" id="totque"></td>
</tr>
<tr>
<td height="26"></td>
<td> </td>
<td><input type="submit" name="submit" value="Add" ></td>
</tr>
</table>
</form>
<p> </p>
2.4. questionadd.php
<?php
session_start();
require("../database.php");
include("header.php");
error_reporting(1);
?>
<link href="../quiz.css" rel="stylesheet" type="text/css">
<?php
extract($_POST);
echo "<BR>";
if (!isset($_SESSION[alogin]))
{
echo "<br><h2><div class=head1>You are not Logged On Please Login to
Access this Page</div></h2>";
echo "<a href=index.php><h3 align=center>Click Here for Login</h3></a>";
exit();
}
echo "<BR><h3 class=head1>Add Question </h3>";
if($_POST[submit]=='Save' || strlen($_POST['testid'])>0 )
{
extract($_POST);
mysql_query("insert into
mst_question(test_id,que_desc,ans1,ans2,ans3,ans4,true_ans) values
('$testid','$addque','$ans1','$ans2','$ans3','$ans4','$anstrue')",$cn) or
die(mysql_error());
echo "<p align=center>Question Added Successfully.</p>";
unset($_POST);
}
?>
<SCRIPT LANGUAGE="JavaScript">
function check() {
mt=document.form1.addque.value;
if (mt.length<1) {
Page 66 of 77
Online Quiz
Page 67 of 77
Online Quiz
<tr>
<td height="26"><div align="left"><strong> Enter Question
</strong></div></td>
<td> </td>
<td><textarea name="addque" cols="60" rows="2"
id="addque"></textarea></td>
</tr>
<tr>
<td height="26"><div align="left"><strong>Enter Answer1 </strong></div></td>
<td> </td>
<td><input name="ans1" type="text" id="ans1" size="85" maxlength="85"></td>
</tr>
<tr>
<td height="26"><strong>Enter Answer2 </strong></td>
<td> </td>
<td><input name="ans2" type="text" id="ans2" size="85" maxlength="85"></td>
</tr>
<tr>
<td height="26"><strong>Enter Answer3 </strong></td>
<td> </td>
<td><input name="ans3" type="text" id="ans3" size="85" maxlength="85"></td>
</tr>
<tr>
<td height="26"><strong>Enter Answer4</strong></td>
<td> </td>
<td><input name="ans4" type="text" id="ans4" size="85" maxlength="85"></td>
</tr>
<tr>
<td height="26"><strong>Enter True Answer </strong></td>
<td> </td>
<td><input name="anstrue" type="text" id="anstrue" size="50"
maxlength="50"></td>
</tr>
Page 68 of 77
Online Quiz
<tr>
<td height="26"></td>
<td> </td>
<td><input type="submit" name="submit" value="Add" ></td>
</tr>
</table>
</form>
<p> </p>
</div>
2.5. header.php
<style type="text/css">
<!--
body {
margin-left: 0px;
margin-top: 0px;
}
-->
</style>
<table border="0" width="100%" cellspacing="0" cellpadding="0"
background="../image/topbkg.jpg">
<tr>
<td width="90%" valign="top">
<!--You can modify the text, color, size, number of loops and more on the flash
header by editing the text file (fence.txt) included in the zip file.-->
<div align="left"><object classid=clsid:D27CDB6E-AE6D-11cf-96B8-
444553540000
codebase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#v
ersion=5,0,2,0
width=500
height=68>
<param name=movie value=../image/fence.swf>
<param name=quality value=high>
<param name=BGCOLOR value=#000000>
<param name=SCALE value=showall>
<param name=wmode value=transparent>
<embed src=../image/fence.swf
quality=high
pluginspage=http://www.macromedia.com/shockwave/download/index.cgi?
P1_Prod_Version=ShockwaveFlash type=application/x-shockwave-flash
width=500
height=68
bgcolor=#000000
scale= showall>
</embed>
</object></div></td>
<td width="10%">
Page 69 of 77
Online Quiz
2.6 databse.php
<?php
$cn=mysql_connect("localhost","root","") or die("Could not Connect My Sql");
mysql_select_db("quiz",$cn) or die("Could connect to Database");
?>
Page 70 of 77
Online Quiz
1. Current system provides only multiple choices but single correct answer selection.
Faculty may wish to provide multiple choices multiple selection responses.
3. Unregistered users cannot answer test, they must belong to some group. This is a
drawback incase the faculty wants anyone even anonymous users to answer the test.
4. Top score could be displayed on the home page; but this could be easily implemented
while programming the home page.
5. Security logs though not implemented in this system would be well available through
the respective database management system and web server software.
Page 71 of 77
Online Quiz
Page 72 of 77
Online Quiz
37.References
Apache Tomcat http://tomcat.apache.org
MySQL http://www.mysql.com
Page 73 of 77