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
Post a Comment