Re: Using if(isset()) with $_GET and switch and default
| From: | MuFei | Date: | Fri, 21 May 2010 20:50:56 +0000 |
| Subject: | Re: Using if(isset()) with $_GET and switch and default | ||
| References: | 1 2 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-305412@lists.php.net to get a copy of this message | ||
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@gmail.com> wrote:
> On Fri, May 21, 2010 at 3:24 PM, MuFei <mufei4u@gmail.com> 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
>