I needed to display the score above the form. is this possible or is there a ways for it.
I want to display the score after the form is submitted. the current code displays it below the form, I need it to display above the form
it is giving me a error "undefined array key"
<?php
$ans = array();
$GLOBALS['score'] = 0;
$answer = array("Greenland", "Sun", "H2O", "Diamond", "-4a + 22b", "Debugging", "Consummatum est", "he'd", "Douglas macarthur", "x2 + x - 20");
extract($_POST);
$questions= array(
array("What is the biggest Island in the world","Greenland", "Hawaii", "Porto Rico"), //Greenland
array("Nearest star to earth", "Sirius", "Sun", "Alcyone"), //Sun
array("Chemical formula for water is", "NaAlO2", "H2O", "CaSiO3"), //H2O
array("The hardest substance available on earth is", "Vibranium", "Adamantium", "Diamond"), //Diamond
array("Combine terms: 12a + 26b -4b – 16a.", "4a + 22b", "-28a + 30b", "-4a + 22b"), //-4a + 22b
array("The process of finding errors and fixing them within a program.", "Fixing", "Finding", "Debugging"), //Debugging
array("Dr. Jose Rizal's last words", "Farewell my friend", "See you in the other side", "Consummatum est"), //Consummatum est
array("He said that ________ love me", "he'd", "he would", "he woulded"), //he'd
array("Who said the line I SHALL RETURN", "Jesus Christ", "Sir Arni", "Douglas macarthur"), //Douglas macarthur
array("Multiply: (x – 4)(x + 5)", "x2 + x - 20", "x(x + 5) -4(x + 5)", "7")); //x2 + x - 20
echo "<table>";
echo "<tr>";
echo "<td style="border-top: 14px solid #7349BD;"><h3>Answer the Following:</h3>";
//show score here
if(isset($submit))
{
echo "<h2>Congratulation $name, Your score is ";
echo $_POST['point'];
echo "/10</h2>";
}
echo "<form action="LabAct2_2.php" method="post">";
$counter=0;
echo "<hr><label>Name: </label><input type="text" name="name" required>";
echo "<p>*Required</p>";
echo "</td></tr>";
foreach($questions as $value){
$counter++;
echo "<tr>";
echo "<td>";
foreach($value as $v=>$item)
{
if ($v==0)
{
echo "<label>$counter. $item</label><br>";
}else{
echo "<input type="radio" name="option$counter" value="$item" id="$item"><label for="$item">$item</label><br>";
}
}
echo "</td>";
echo "</tr>";
}
error_reporting(0);
echo "</table>";
echo "<div>";
$ans = array($_POST["option1"], $_POST["option2"],$_POST["option3"],$_POST["option4"],$_POST["option5"],$_POST["option6"],$_POST["option7"],$_POST["option8"],$_POST["option9"],$_POST["option10"]); // user answer
$result = array_intersect($answer, $ans); //correct answers
$name = $_POST['name'];
$score = count($result); //score
echo "<input type="hidden" value="$score" name="point">";
echo "<input type="submit" name="submit" value=Submit></form><br>";
if(isset($submit)){
echo "<h2>Congratulation $name, Your score is ";
echo $score;
echo "/10</h2></div>";
}
?>
2
Answers
The value of $submit is undefined until the form is submitted
Ok I am editing my answer following code should give you the results, notice I moved the code that was calculating score to place httml output is starting.
This code handle your errors too