Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

PHP Build a Simple PHP Application Adding a Contact Form Working with Get Variables

Why do we need isset variable to check if $_Get variable exists before the if statement executes?

What's the purpose of using isset statement with the $_Get variable? Why we need isset when dealing with $_Get, but not with $_POST or $_SERVER veriable? Thanks.

lihaoquan
lihaoquan
12,045 Points

To add on, even if youre very sure that a variable will be set to something, you shouldnt assume. Assumptions are the greatest poisons to creating secure web applications You should check variables that are important to the web app's decision making and make sure that they are set to correct values.

1 Answer

lihaoquan
lihaoquan
12,045 Points

Hi Jason, the PHP isset() function checks if a variable is SET to a certain value. For example, you make a variable called $color, and set it to NULL like so : $color = null; Now, you use isset() function to check if the $color variable IS SET to a certain value, since NULL is equivalent to NOT SET, then the isset($color); function will return false, which means $color is not set to any value, however, if you set $color to 'green', like so: $color = 'green', now you use isset(color); function, it'll give you true, which means $color IS BEING SET TO A CERTAIN VALUE That value can be BOOLEAN, INT, STRING, etc EXCEPT FOR NULL.

To answer your question, isset() can be used on all GET, POST, AND SERVER variable, it is just used to check if the GET, POST, or SERVER variable is set to a certain value or not. Whether to check it or not is by your choice, there is no a must or mustn't to use isset() on any variable.