html - PHP counter variable stops incrementing -


i'm practicing using php creating simple quiz webpage. want display each question 1 @ time (rather @ once). have used counter variable, keep track of current question number. question corresponds value held in counter variable displayed.


have been able far.

<?php session_start(); ?> <html> <head> <title>game</title> <link rel="stylesheet" type="text/css" href="stylesheet.css"> <link rel="shortcut icon" href="untitled2.ico"> </head> <body> <div id="middle"> <div id="quiz"> <form id="quiz2" method="post" action="<?php echo htmlspecialchars($_server["php_self"]);?>"> <fieldset> <?php  if (isset($_session['count'])){  $_session['count'] = 1; echo $_session['count']; }  if ($_server["request_method"] == "post") {  ++$_session['count'];   echo $_session['count']; } ?> <?php if ($_session['count']==1) : ?>     <p>ok, start nice easy question first.</p>     <p>what favourite colour?</p>     <input type="radio" name="q1" value="red" required="required">     red     <br>     <input type="radio" name="q1" value="black" required="required">     black     <br>     <input type="radio" name="q1" value="green" required="required">     green     <br>     <input type="radio" name="q1" value="orange" required="required">     orange     <br>     <input type="radio" name="q1" value="yellow" required="required">     yellow     <br>     <input type="radio" name="q1" value="blue" required="required">     blue     <br>     <br>     <input type="submit" name="submit" value="next"> <?php endif; ?> <?php if ($_session['count']==2) : ?>     <p>ah...i see.</p>     <p>now try one.</p>     <p>what trait admire in person?</p>     <input type="radio" name="q2" value="intelligence" required="required">     intelligence     <br>     <input type="radio" name="q2" value="ambition" required="required">     ambition     <br>     <input type="radio" name="q2" value="kindness" required="required">     kindness     <br>     <input type="radio" name="q2" value="determination" required="required">     determination     <br>     <input type="radio" name="q2" value="self-preservation" required="required">     self-preservation     <br>     <input type="radio" name="q2" value="hard-working" required="required">     hard-working     <br>     <input type="radio" name="q2" value="creativity" required="required">     creativity     <br>     <br>     <input type="submit" name="submit" value="next">  <?php endif; ?> </fieldset>  </form> </div> </div> </body> </html> 


so, each chunk of html (which displays question) either hidden or shown depending on counter variable.
works ok until counter variable gets 2, @ point stops incrementing, , question 2 remains on page.
thought using session variable stop have done wrong.

you set counter 2

in line check if counter-variable set. if yes set 1

if(isset($_session['count'])){    $_session['count'] = 1;   echo $_session['count']; } 

and increment when getting post:

if ($_server["request_method"] == "post") {  ++$_session['count'];    echo $_session['count'];  } 

so 1 + 1 = 2 know.

i think want initilaze counter when it's not set, change

if(!isset($_session['count'])){   $_session['count'] = 1;   }   echo $_session['count']; 

and increment if on post

if ($_server["request_method"] == "post") {   $_session['count']++;   }  echo $_session['count']; 

Comments