Thanks, Adam The first option (setting the GET) works great. I already know about taking the default out of the switch and putting it in an else statement, but I want to work with the default inside the switch. And of course I wanted to do it without turning off E_NOTICE warnings Thanks again for your help :) On Fri, May 21, 2010 at 11:18 PM, Adam Richardson <simpleshot@xxxxxxxxx> wrote: > On Fri, May 21, 2010 at 3:24 PM, MuFei <mufei4u@xxxxxxxxx> wrote: >> >> Hi, >> I'm still new to PHP and everyday I learn something new. >> Today I was trying to make some script using the switch statement but >> I have some issue that I don't know how to get around it. >> It's a simple test script that contain only one file, it has some >> questions that I want only one question appear per time then go to the >> next question when clicking on the submit button, I used switch for >> that, but when I get the first page, I got a notice which says: >> Notice: Undefined index: question in path\test.php on line 56 >> So I used if(isset($_GET[''])) but then the default value of the >> switch does not show up in the first page and I get the first page >> blank. >> >> 1- Is there anyway that I can use the default value of the switch >> without getting the note? >> Or >> 2- Is there anyway that I can use the default value of the switch with >> the if(isset()) and show the first page? >> >> Here is the content of the script that I hope you can help me with: >> (please note that it's not finished yet and it's so simple) >> (The if(isset()) is commented) >> >> ================================================ >> >> <?php >> // List of test questions and their answers in variables >> $question1 = '1- What is PHP?<br /> >> <input type="radio" >> name="q1a" value="a" /> A- Software <br /> >> <input type="radio" >> name="q1a" value="b" /> B- Hypertext >> Preprocessor, Scripting Server side programming language <br /> >> <input type="radio" >> name="q1a" value="c" /> C- Client side >> programming language <br /><br /> >> <input type="submit" >> name="sumbit" value="Question 2" />'; >> $answer1 = 'b'; >> >> $question2 = '2- What is PHP used for?<br /> >> <input type="radio" >> name="q2a" value="a" /> A- For web <br /> >> <input type="radio" >> name="q2a" value="b" /> B- For Computers <br /> >> <input type="radio" >> name="q2a" value="c" /> C- For Designing <br /><br /> >> <input type="submit" >> name="sumbit" value="Question 3" />'; >> $answer2 = 'a'; >> >> $question3 = '3- What is good about PHP?<br /> >> <input type="checkbox" >> name="q3a[a]" value="a" /> A- It\'s >> Designed and created for the web <br /> >> <input type="checkbox" >> name="q3a[b]" value="b" /> B- It\'s Free <br /> >> <input type="checkbox" >> name="q3a[c]" value="c" /> C- It supports >> different Databases <br /> >> <input type="checkbox" >> name="q3a[d]" value="d" /> D- It\'s not >> an Oriented Programming language <br /><br /> >> <input type="submit" >> name="sumbit" value="Question 4" />'; >> $answer3_1 = 'a'; >> $answer3_2 = 'b'; >> $answer3_3 = 'c'; >> >> $question4 = '4- What does PHP stands for?<br /> >> <input type="radio" >> name="q4a" value="a" /> A- Perl Hypertext >> Programming <br /> >> <input type="radio" >> name="q4a" value="b" /> B- Personal Home >> Page <br /><br /> >> <input type="submit" >> name="sumbit" value="Question 5" />'; >> $answer4 = 'b'; >> >> $question5 = '5- Who created PHP?<br /> >> <input type="radio" >> name="q5a" value="a" /> A- Andi Gutmans <br /> >> <input type="radio" >> name="q5a" value="b" /> B- Zeev Suraski <br /> >> <input type="radio" >> name="q5a" value="c" /> C- Rasmus Lerdorf <br /><br /> >> <input type="submit" >> name="sumbit" value="Results" />'; >> $answer5 = 'c'; >> ?> >> >> <html> >> <head> >> <title> >> <?php >> if(isset($_GET['question'])) { >> echo "Question " . >> $_GET['question']; >> } else { >> echo 'Instroctions'; >> } >> ?> >> </title> >> </head> >> <body> >> <?php >> //if(isset($_GET['question'])) { >> switch($_GET['question']) { >> case '1': >> echo '<form >> action="test.php?question=2" method="post">' . >> $question1 .'</form>'; >> break; >> >> case '2': >> echo '<form >> action="test.php?question=3" method="post">' . >> $question2 .'</form>'; >> break; >> >> case '3': >> echo '<form >> action="test.php?question=4" method="post">' . >> $question3 .'</form>'; >> break; >> >> case '4': >> echo '<form >> action="test.php?question=5" method="post">' . >> $question4 .'</form>'; >> break; >> >> case '5': >> echo '<form >> action="test.php?question=Results" method="post">' . >> $question5 .'</form>'; >> break; >> >> case 'Results': >> echo 'You results are: <br >> /><br /><a href="test.php">Go to the >> home page and do the test again!</a>'; >> break; >> >> default: >> echo 'Welcome to PHP simple >> test, Please click on Start button >> to begin you test. <br /> >> <a >> href="test.php?question=1">Click Here to Begin!</a>'; >> break; >> } >> //} >> ?> >> </body> >> </html> >> >> ================================================ >> >> >> Thanks for your help guys! ^^ >> >> MuFei >> >> -- >> PHP General Mailing List (http://www.php.net/) >> To unsubscribe, visit: http://www.php.net/unsub.php >> > > You could do any one of the following: > // set the GET > if(!isset($_GET['question'])) { $_GET['question'] = 'default';} > > > > > > > // OR, take the default out of the switch and put it in an else statement > if(isset($_GET['question'])) { > switch($_GET['question']) { > case '1': > echo '<form > action="test.php?question=2" method="post">' . > $question1 .'</form>'; > break; > > case '2': > echo '<form > action="test.php?question=3" method="post">' . > $question2 .'</form>'; > break; > > case '3': > echo '<form > action="test.php?question=4" method="post">' . > $question3 .'</form>'; > break; > > case '4': > echo '<form > action="test.php?question=5" method="post">' . > $question4 .'</form>'; > break; > > case '5': > echo '<form > action="test.php?question=Results" method="post">' . > $question5 .'</form>'; > break; > > case 'Results': > echo 'You results are: <br > /><br /><a href="test.php">Go to the > home page and do the test again!</a>'; > break; > > default: > echo 'We received an invalid > option'; > break; > } > } else { > default: > echo 'Welcome to PHP simple > test, Please click on Start button > to begin you test. <br /> > <a > href="test.php?question=1">Click Here to Begin!</a>'; > } > > > OR, disable E_NOTICE level warnings (the corresponding array value for an > undefined index will be null): > http://php.net/manual/en/errorfunc.configuration.php > Adam > -- > Nephtali: PHP web framework that functions beautifully > http://nephtaliproject.com >