Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6754157
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 26, 20262026-05-26T13:14:48+00:00 2026-05-26T13:14:48+00:00

I have a stupid question :) I’m working on a simple php document which

  • 0

I have a stupid question 🙂
I’m working on a simple php document which is primitively similar to an online test. The code for the moment consists of two question which where the marks are increased if they are correct(havnt yet worked what it should do incase he select the wrong answer). The problems is that the variable which holds the “marks” doesnt carry the updated value to the next page. Here is the code:

<?php
    $marks=0;
    $question1=" <form method=post action='ThirdChallenge.php?question=2&marks=$marks'>
            &nbsp;&nbsp;    1. <input type=radio name='question1' value='first'/> Hyperttext PreProcessor <br/>
                            2. <input type=radio name='question1' value='second'/> HypertText PeriPheral <br/><br/>
                                <input type=submit value='submit'/>
            </form> ";
    $question2="<form method=post action='ThirdChallenge.php?question=3&marks=$marks'>
                            1. <input type=radio name='question2' value='first'/> Compiled Language <br/>
            &nbsp;          2. <input type=radio name='question2' value='second'/> Interpreted Language <br/><br/>
                                <input type=submit value='submit'/>
            </form> ";          

    switch($_GET[question]){

        case "1":
            print"
            <div align=center > 
                what does PHP stand for?<br/><br/> $question1 
            </div>";

            break;

        case "2":
            if(!isset($_POST["question1"])){
            //Check if an option has been selected, if not re-ask the question
                echo " Error! Select one of the options <br/>
                <div align=center >
                what does PHP stand for?<br/><br/> $question1 
                </div>";

                    }
            elseif($_POST["question1"]=="first"){
                // if the answer is "first" which is the value of the form radio button with the correct answer
                // Then simply increment the marks
                $_GET[marks]++;
                //echo only for testing
                echo $_GET[marks];

                    }


            print"
            <div align=center> What kind of Language is PHP?<br/> <br/> $question2</div>";
            break;

        case "3":
        // again do the checking for the second question
            if(!isset($_POST["question2"])){
                echo " Another error, select the questions again <br/>
                <div align=center>
                What kind of Language is PHP?<br/> <br/> $question2
                </div>";}

            elseif($_POST["question2"]=="second"){
                $_GET[marks]++;
                echo $_GET[marks];
                    }
            // The problem is right here, instead of giving me say 2 if both the answers are correct it simply outputs 1
            echo  "$_GET[marks]The total marks you got are $_GET[marks] out of 20 ";

        break;
        default:
            print" 
                <html>
                <head/>

                <body>

                    <div align=center><b>Hi there!, Welcome to the PHP exame. When you are ready, click the begin button</b><br/>

                    <a href='ThirdChallenge.php?question=1'> Begin </a>

                    </div>
                </body>
                </html>";

}



?>

Thanks for your time in advance 🙂

The example which influenced into writing my own code is the following:(it’s abit long):

$question1="<b>Question 1: What is the URL to access the PHP users manual online?</b><br>
            A) <input type=radio name='q1a' value='a'> http://www.php.org/docs.php<br>
            B) <input type=radio name='q1a' value='b'> http://www.php.com/docs.php<br>
            C) <input type=radio name='q1a' value='c'> http://www.php.net/docs.php<br>
            D) <input type=radio name='q1a' value='d'> http://documentation.php.net<br>
            <input type=submit value='Go'>
            </form>";
$question1_answer="c";

$question2="<b>Question 2: What is the extention that PHP documents generally have?</b><br>
            A) <input type=radio name='q2a' value='a'> .phps<br>
            B) <input type=radio name='q2a' value='b'> .html<br>
            C) <input type=radio name='q2a' value='c'> .htm<br>
            D) <input type=radio name='q2a' value='d'> .php<br>
            <input type=submit value='Go'>
            </form>";
$question2_answer="d";

$question3="<b>Question 3: What does PHP stand for?</b><br>
            A) <input type=radio name='q3a' value='a'> PHP: Hypertext Preprocessor<br>
            B) <input type=radio name='q3a' value='b'> Personal Home Page<br>
            C) <input type=radio name='q3a' value='c'> Pretty Handy Programmer<br>
            D) <input type=radio name='q3a' value='d'> Personal Hypertext Processor<br>
            <input type=submit value='Go'>
            </form>";
$question3_answer="a";

$question4="<b>Question 4: How should a PHP statement close?</b><br>
            A) <input type=radio name='q4a' value='a'> ?><br>
            B) <input type=radio name='q4a' value='b'> ;<br>
            C) <input type=radio name='q4a' value='c'> </php><br>
            D) <input type=radio name='q4a' value='d'> .<br>
            <input type=submit value='Go'>
            </form>";
$question4_answer="b";

$question5="<b>Question 5: Which of the following are correct? (select all that apply)</b><br>
            A) <input type=checkbox name='q5a[a]' value='y'> print \$x;<br>
            B) <input type=checkbox name='q5a[b]' value='y'> print '\$x';<br>
            C) <input type=checkbox name='q5a[c]' value='y'> print x;<br>
            D) <input type=checkbox name='q5a[d]' value='y'> print \$x<br>
            E) <input type=checkbox name='q5a[e]' value='y'> print x<br>
            F) <input type=checkbox name='q5a[f]' value='y'> print \"\$x\";<br>
            <input type=submit value='Go'>
            </form>";
$question5_answer1="a";
$question5_answer2="b";
$question5_answer3="c";
$question5_answer4="f";

$question6="<b>Question 6: What value would be printed to the browser from the following script?</b><br>
            <pre>".'
            $x=3;$y=4;$z=9;
            $a=$x+($y*$z)/($x-($y%3));
            print $a;'."</pre>

            A) <input type=radio name='q6a' value='a'> An error<br>
            B) <input type=radio name='q6a' value='b'> 19.5<br>
            C) <input type=radio name='q6a' value='c'> 21<br>
            D) <input type=radio name='q6a' value='d'> None of the Above<br>
            <input type=submit value='Go'>
            </form>";
$question6_answer="c";

$question7="<b>Question 7: What is the output of the following script?</b><br>
            <pre>".'
            $x=1;$y=3;$z=12;
            ++$y;
            $z*=2;
            $x=$y+$z;
            print $x'."</pre>

            A) <input type=radio name='q7a' value='a'> An error<br>
            B) <input type=radio name='q7a' value='b'> 28<br>
            C) <input type=radio name='q7a' value='c'> 1<br>
            D) <input type=radio name='q7a' value='d'> None of the Above<br>
            <input type=submit value='Go'>
            </form>";
$question7_answer="a";

$question8="<b>Question 8: Which of the following are TRUE statements assuming the values below? (select all that apply)</b><br>
            <pre>".'
            $x=3;$y=7;$z="green";$n=1;'."</pre>
            A) <input type=checkbox name='q8a[a]' value='y'> \$x+\$y==\$z || \$x==3 && \$n >=0<br>
            B) <input type=checkbox name='q8a[b]' value='y'> \$x!=3<br>
            C) <input type=checkbox name='q8a[c]' value='y'> \$z==\"green\" && \$y%3 >=\$n<br>
            D) <input type=checkbox name='q8a[d]' value='y'> \$x==3 && \$x++==\$y-3<br>
            E) <input type=checkbox name='q8a[e]' value='y'> \$x*\$x % 2 && 3-\$y!=\$z<br>
            F) <input type=checkbox name='q8a[f]' value='y'> \$x+2=5<br>            
            <input type=submit value='Go'>
            </form>";
$question8_answer1="a";
$question8_answer2="c";
$question8_answer3="e";

$question9="<b>Question 9: What is the result of the following code?</b><br>
            <pre>".'
            for($x=1;$y<10;$y++) {
                print $y."&lt;br&gt;";
            }'."</pre>
            A) <input type=radio name='q9a' value='a'> The numbers 0 to 9 will be printed to the screen<br>
            B) <input type=radio name='q9a' value='b'> An infinite loop<br>
            C) <input type=radio name='q9a' value='c'> An error<br>
            D) <input type=radio name='q9a' value='d'> None of the above<br>
            <input type=submit value='Go'>
            </form>";
$question9_answer="d";

$question10="<b>Question 10: What is the result of the following code?</b><br>
            <pre>".'
            $x=5;
            switch($x) {
                case 1:
                    print "the value is 1&lt;br&gt;";
                case 2:
                    print "the value is 2&lt;br&gt;";
                case 3:
                    print "the value is 3&lt;br&gt;";
                case 4:
                    print "the value is 4&lt;br&gt;";
                case 5:
                    print "the value is 5&lt;br&gt;";
                case 6:
                    print "the value is 6&lt;br&gt;";
                default: 
                    print "There is no spoon.&lt;br&gt;";
            }
            '."</pre>
            A) <input type=radio name='q10a' value='a'> \"the value is 5\" is printed to the screen<br>
            B) <input type=radio name='q10a' value='b'> An error<br>
            C) <input type=radio name='q10a' value='c'> \"the value is 5\" and \"the value is 6\" is printed to the screen<br>
            D) <input type=radio name='q10a' value='d'> \"the value is 5\" and \"the value is 6\" and \"There is no spoon.\" is printed to the screen<br>
            E) <input type=radio name='q10a' value='e'> None of the above<br>
            <input type=submit value='Go'>
            </form>";
$question10_answer="d";

//the final bit in here is a review of each question, and the correct answer(s) for that question.
$results=$question1."<br><b>Correct answer: $question1_answer</b><br><i>Why: The other domains go somewhere else.</i><br><br>";
$results.=$question2."<br><b>Correct answer: $question2_answer</b><br><i>Why: .php is the default extention the server is setup for, tho any extention can be setup to parse as a PHP script</i><br><br>";
$results.=$question3."<br><b>Correct answer: $question3_answer</b><br><i>Why: PHP is a recursive acronym, contrary to programming mythology, it has never been an acronym for Personal Home Page.</i><br><br>";
$results.=$question4."<br><b>Correct answer: $question4_answer</b><br><i>Why: Statements are always finished with a semi-colon.</i><br><br>";
$results.=$question5."<br><b>Correct answer: $question5_answer1,$question5_answer2,$question5_answer3,$question5_answer4</b><br><i>Why: a and b are obvious, c is true if x is defined as a constant.  d is missing a semi-colon, e is missing a semi-colon and f is obviously valid.</i><br><br>";
$results.=$question6."<br><b>Correct answer: $question6_answer</b><br><i>Why: The equasion translates to: \$a=3+(4*9)/(3-(4%3)).  When you follow the order of operations you get \$a=3+36/2 and then again, following order of operations, \$a=3+18 and a final value of 21.</i><br><br>";
$results.=$question7."<br><b>Correct answer: $question7_answer</b><br><i>Why: The final print statement is missing semi-colon.  You did not try and calculate that out did you?  Always look for the most obvious failure points first! ;)</i><br><br>";
$results.=$question8."<br><b>Correct answer: $question8_answer1,$question8_answer2,$question8_answer3</b><br><i>Why: If you are having trouble figuring out whether the equasion is true or false, break it down bit by bit.  For example, the first equasion:  10==green || 3==3 && 1>=0 : false OR true AND true, thus it is TRUE.  If all else failes, throw it into an IF statement, print yes if it is true, and run the script!  B is not true because \$x IS 3, d is false because the right side of the and (&&) evaluates false, remembering the subtle difference between the prefixed and postfixed increments... ++\$x increments THEN returns, \$x++ returns THEN increments, so you actually get: (3==4)++ - the increment in this case gets lost in the order of operations because its evaluation is irrelevant to the operation, thus the right side is false, and thus the whole equasion is false.  Finally, F is false because it returns an error - you cannot do an assignment operation in the same statement as an arithmatic operation.</i><br><br>";
$results.=$question9."<br><b>Correct answer: $question9_answer</b><br><i>Why: The script will print out the numbers 1 to 9.  ) is not printed out because the first time through the loop, \$y has NO VALUE at all, at the end of the loop, it is incremented, creating it and setting it to one.</i><br><br>";
$results.=$question10."<br><b>Correct answer: $question10_answer</b><br><i>Why: There are no break statements, so once the value is found in the case statement, every statement thereafter is executed.</i><br><br>";
$results.="Ok, now I understand, take me <a href='chapter_4_challenge.php'>back to the beginning</a> to try again.";

?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <title>
    <? 
        //change the title according to the question that we are on.
        if($_GET[question]) { 
            print "Question $question";
        } else { 
            print "Instructions";
        }
    ?>
    </title>
</head>
<body bgcolor="#FFFFFF" text="#000000" link="#0000FF" alink="#00FF00" vlink="#FF00FF">
<center>
<table border=0 width='590'>
    <tr>
    <td>
    <?
    switch($_GET[question]) {
        case "1":
            print "
            <form method=post action='chapter_4_challenge.php?question=2'>
            $question1
            </form>";
        break;
        case "2":
            //first check question 1
            if($_POST[q1a]) {
                //if they have selected an answer - evaluate it here.
                if($question1_answer==$_POST[q1a]) {
                    $_GET["score"]++;
                }
                print "
                <form method=post action='chapter_4_challenge.php?question=3&score=$_GET[score]'>
                $question2
                </form>";
            } else {
                print ERROR."<br>
                <form method=post action='chapter_4_challenge.php?question=2'>
                $question1
                </form>";
            }
        break;

        case "3":
            //check question 2
            if($_POST[q2a]) {
                if($question2_answer==$_POST[q2a]) {
                    $_GET["score"]++;
                }
                print "
                <form method=post action='chapter_4_challenge.php?question=4&score=$_GET[score]'>
                $question3
                </form>";
            } else {
                print ERROR."<br>
                <form method=post action='chapter_4_challenge.php?question=3&score=$_GET[score]'>
                $question2
                </form>";
            }
        break;

        case "4":
            //first check question 3
            if($_POST[q3a]) {
                //if they have selected an answer - evaluate it here.
                if($question3_answer==$_POST[q3a]) {
                    $_GET["score"]++;
                }
                print "
                <form method=post action='chapter_4_challenge.php?question=5&score=$_GET[score]'>
                $question4
                </form>";
            } else {
                print ERROR."<br>
                <form method=post action='chapter_4_challenge.php?question=4&score=$_GET[score]'>
                $question3
                </form>";
            }
        break;

        case "5":
            //first check question 4
            if($_POST[q4a]) {
                //if they have selected an answer - evaluate it here.
                if($question4_answer==$_POST[q4a]) {
                    $_GET["score"]++;
                }
                print "
                <form method=post action='chapter_4_challenge.php?question=6&score=$_GET[score]'>
                $question5
                </form>";
            } else {
                print ERROR."<br>
                <form method=post action='chapter_4_challenge.php?question=5&score=$_GET[score]'>
                $question4
                </form>";
            }
        break;

        case "6":
            /* first check question 5 - this is a bit different because we have multiple selections
            we have each of the selections using checkboxes.  Each of the text boxes is named
            with a [xxxx] after it - that puts it into a subset of the superglobal $_GET.  We do 
            not need to check if they selected anything at all, because they could possibly
            think that none of the answers bears answering....  so we go directly into checking
            to see if they selected any or all of the correct answers.  */
            if($_POST[q5a][$question5_answer1]=="y") { $_GET[score]++; }
            if($_POST[q5a][$question5_answer2]=="y") { $_GET[score]++; }
            if($_POST[q5a][$question5_answer3]=="y") { $_GET[score]++; }
            if($_POST[q5a][$question5_answer4]=="y") { $_GET[score]++; }
            /* ok - a bit of an explanation of the above.  It would evaluate to:
            $_POST[q5a][a],$_POST[q5a][b], etc depending on the value of the $question5_answer1, 
            $question5_answer2, etc, values.  When you look at the checkbox, you see that the values of the 
            selected boxes would be y - so that is the value we are checking for.  These are actually called 
            multi-dimentional arrays, and are a very advanced concept.  If you managed to figure this
            out you are VERY ready to continue on! If not, then try the code and add the print_r($_POST); 
            function to the output to see how it comes through from the form. */

            print "
            <form method=post action='chapter_4_challenge.php?question=7&score=$_GET[score]'>
            Congratulations!  So far, your score is $_GET[score] out of a possible 8.  Lets continue shall we?<br>
            <br>
            $question6
            </form>";
        break;

        case "7":
            //first check question 6
            if($_POST[q6a]) {
                //if they have selected an answer - evaluate it here.
                if($question6_answer==$_POST[q6a]) {
                    $_GET["score"]++;
                }
                print "
                <form method=post action='chapter_4_challenge.php?question=8&score=$_GET[score]'>
                $question7
                </form>";
            } else {
                print ERROR."<br>
                <form method=post action='chapter_4_challenge.php?question=7&score=$_GET[score]'>
                $question6
                </form>";
            }
        break;

        case "8":
            //first check question 7
            if($_POST[q7a]) {
                //if they have selected an answer - evaluate it here.
                if($question7_answer==$_POST[q7a]) {
                    $_GET["score"]++;
                }
                print "
                <form method=post action='chapter_4_challenge.php?question=9&score=$_GET[score]'>
                $question8
                </form>";
            } else {
                print ERROR."<br>
                <form method=post action='chapter_4_challenge.php?question=8&score=$_GET[score]'>
                $question7
                </form>";
            }
        break;

        case "9":
            if($_POST[q8a][$question8_answer1]=="y") { $_GET[score]++; }
            if($_POST[q8a][$question8_answer2]=="y") { $_GET[score]++; }
            if($_POST[q8a][$question8_answer3]=="y") { $_GET[score]++; }
            print "
            <form method=post action='chapter_4_challenge.php?question=10&score=$_GET[score]'>
            $question9
            </form>";
        break;

        case "10":
            //first check question 9
            if($_POST[q9a]) {
                //if they have selected an answer - evaluate it here.
                if($question9_answer==$_POST[q9a]) {
                    $_GET["score"]++;
                }
                print "
                <form method=post action='chapter_4_challenge.php?question=end&score=$_GET[score]'>
                $question10
                </form>";
            } else {
                print ERROR."<br>
                <form method=post action='chapter_4_challenge.php?question=10&score=$_GET[score]'>
                $question9
                </form>";
            }
        break;

        case "end":
            //first check question 10
            if($_POST[q10a]) {
                //if they have selected an answer - evaluate it here.
                if($question10_answer==$_POST[q10a]) {
                    $_GET["score"]++;
                }
                print "Congratulations!  You have completed the PHP evaluation test!  Your score was
                <b>$_GET[score]</b> out of a possible 15!<br><h1>";
                //figure out what type of congratulations to give them.
                if($_GET[score] == 15) {
                    print "WOW!  You are a PHP superstar!";
                } elseif($_GET[score] > 9 && $_GET[score] < 15) {
                    print "Not bad at all.  But room for improvement.";
                } elseif($_GET[score] > 4 && $_GET[score] < 10) {
                    print "Ok.  But perhaps you should do a bit of review.";
                } else {
                    print "WoW.  That is bad.  Umm, maybe you had better start from the beginning of the training course.";
                }
                print "</h1>
                If you would like to see the answers to all of the questions, <a href='chapter_4_challenge.php?question=results'>click here</a>";
            } else {
                print ERROR."<br>
                <form method=post action='chapter_4_challenge.php?question=end&score=$_GET[score]'>
                $question10
                </form>";
            }
        break;

        case "results":
            print $results;
        break;

        default:
            print "Welcome to the PHP knowledge test!  In this test you will be asked a series
            of 10 questions.  Eight of these questions will be multiple choice questions, 
            and 2 of them you will be required to select multiple answers to.  At the end of 
            the test, you will be evaluated with a score out of 15.  Good Luck!<br>
            <br>
            <a href='chapter_4_challenge.php?question=1'>Begin!</a>";
        break;
    }
    ?></td>
    </tr>
</table>
</center>
</body>
</html>
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-26T13:14:49+00:00Added an answer on May 26, 2026 at 1:14 pm

    That’s perfectly valid behavior for the PHP and any web-application in general as it is based on stateless HTTP protocol.

    To save a state (a variable in other words) between calls, you have to use sessions

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a simple stupid question. Here's the problem, for years, my company has
i have a stupid question...sometimes i see developers use the following code... NSString *newURL
This may be a weird or stupid question, but I have the following code
I am a beginner in Clojure, and I have a simple (stupid) question. I
Perhaps a stupid question: I have a List of type <Data> which I want
I have a rather stupid PHP question :D! I would like to simplify the
Sorry if this is a stupid question, I have a javascript function like: Test.prototype.createElement
I have a simple (may be stupid) question. I want to calculate Kullback–Leibler divergence
Sorry for the stupid question, but this is driving me crazy... I have test_framework.php
This is probably a very simple and stupid question to ask, but I have

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.