Jump to content

score keeps incrementing? cant see why though


lanceox

Recommended Posts

hey guys.  Hopefully someone can help me with this.  I have been trying to figure out for a while now why the quiz score keeps incrementing even if i refresh the page.

so far there is 2 quiz sections, firstly $_SESSION['score']; is incremented on every correct answer then this information is carried on to the second part of the quiz which increments $_SESSION['score'1];

 

However everytime a page is refreshed then it increments again.  How can i get around this? 

 

Also note i have a questions and answers section (array of q's and a's) and a functions page.  Any help would be great.

 

Thanks in advance

 

Lance

 

 

<?php
session_name("Question_Test");
session_start();
$_SESSION['score'];
require_once('questionsandanswers2.php');
require_once('functions.php');


if (!isset($_POST['submit'])) 
{	
	$score1 = 0;
	$_SESSION['correct'] = array(); 
	$_SESSION['wrong'] = array();
	$_SESSION['finished'] = 'no';

	if (isset($_SESSION['error']))
	{
		unset($_SESSION['error']); 
		$num = 0;
	} 
		else
	{
	$score1 = 0;
	$_SESSION['score1'] = $score1;
	$_SESSION['correct'] = array(); 
	$_SESSION['wrong'] = array(); 
	$_SESSION['finished'] = 'no';
	$num = 0;
	} 
}
else
{
$num = (int) $_POST['num'];
$postedanswers = str_replace("_"," ",$_POST['answers']);
	if ($postedanswers == $answers[$num]['0'])
	{
		$_SESSION['score1'] ++;
		$_SESSION['correct'][] = $postedanswers; 
	} 
	else
	{
		$_SESSION['wrong'][] = $postedanswers;
	}	

if ($num < count($questions)-1) 
{
	$num++;
} 
	else 
{
	$last = true;
	$_SESSION['finished'] = 'yes';
}
}

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>running an array</title>
<?php 
if (!isset($last)) {
echo "<script type=\"text/javascript\" src=\"form.js\"></script>";
}
?>
</head>
<body>
<?php if (!isset($last)){?>
<h1>Detection Section</h1>
<h2>Questions <?php echo $num+1; ?>:</h2>
<p><strong><?php echo $questions[$num]; ?></strong></p>
<form id="questionBox" method="post" action="test2.php">

<?php
$pattern = ' ';
$replace = '_';
$shuffledAnswers = shuffle_assoc($answers[$num]);
#var_dump($newanswers);
foreach ($shuffledAnswers as $answer) 
		{
			$answer2 = str_replace($pattern,$replace,$answer);
			echo "<li><input type=\"radio\" id=\"$answer2\" value=\"$answer2\" name=\"answers\" />\n";
			echo "<label for=\"$answer2\">$answer</label></li>\n";
		}	
?>
<input type="hidden" name="num" value="<?php echo $num; ?>" />
<input type="submit" id="submit" name="submit" value="Submit Answer" /></p>
</form>
<?php
} else
{ 
$_SESSION['finalscore'] = $_SESSION['score'] + $_SESSION['score1'];
	 echo "your final score is:</h2>\n
	 <h3>{$_SESSION['finalscore']}/20</h3><h4>Verdict:</h4>";
	 if($_SESSION['finalscore'] <= 5) echo "<p id=\"verdict\"><span>S</span>everely <span>H</span>indered <span>I</span>n the <span>T</span>est!</p>\n";
	 if(($_SESSION['finalscore'] > 5) && ($_SESSION['finalscore'] <= 10)) echo "<p id=\"verdict\"><span>C</span>ould <span>R</span>ead <span>A</span>nd <span>P</span>ractice more.</p>\n";
	 if(($_SESSION['finalscore']) && ($_SESSION['finalscore'] <= 15)) echo "<p id=\"verdict\"><span>A</span>cronyms a<span>R</span>e <span>S</span>o <span>E</span>asy!</p>\n";
	 if($_SESSION['finalscore'] > 15) echo "<p id=\"verdict\"><span>S</span>uper <span>A</span>cronym <span>S</span>pecialist</p>";

	 echo "<p id=\"compare\"><a href=\"test2.php\">Next Section! <img src=\"images/arrow.png\" /></a></p>";
}
?>

</body>
</html>

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.