Re: Using if(isset()) with $_GET and switch and default

From: 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 >

« previous php.general (#305412) next »