> Afan Pasalic wrote:
>>
>> Jochem Maas wrote:
>>> Richard Kurth wrote:
>>>
>>>> What do you do when isset does not work? If I send data in a
>>>> $_REQUEST['var'] like
>>>> if (isset($_REQUEST['var'])) {
>>>> }
>>>> Put var has no data it still says it is set. Because $_REQUEST['var']
>>>> = ""
>>>> and isset thinks "" is set
>>>>
>>>
>>> php -r ' $r = array("foo" => "");
>>> var_dump(isset($r["foo"]),empty($r["foo"]));'
>>>
>>> so empty() should give you the result your looking for  ...
>>> some tips:
>>>
>>> 1. generally use $_GET or $_POST in preference to $_REQUEST
>>> 2. be specific about your input validation, e.g.:
>>>
>>> if (isset($_GET['var']) && ($_GET['var'] == 'foo')) {
>>>     echo "got it!";
>>> }
>>>
>> I always wondered about this. if $_GET['var'] == 'foo' is true, isn't
>> automatically isset($_GET['var']) true too?
>> I mean, isn't
>> if ($_GET['var'] == 'foo')
>> {
>>     echo "got it!";
>> }
>> just enough?
>
> it doesn't cover the situation where $_GET['var'] doesn't exist,
> and using uninitialized var is not recommended.
>
> of course it's your call whether you write/run code that spits out
> E_NOTICEs all over the place due to usage of uninitialized vars.
>

not quite sure. if $_GET['var'] doesn't exists it's DEFINITLY not equal to
'foo', right?

how I understand:
clause one: isset($_GET['var'])
clause two: ($_GET['var'] == 'foo')
if clause two is true, clause one MUST be true.
if clause one is true, clause two could be true or false.

means, if I look for solutions where ($_GET['var'] == 'foo') they wil
lautomaticaly cover isset($_GET['var']) part.
if ($_GET['var'] != 'foo') I erally do not care isset($_GET['var']) or
!isset($_GET['var']).

or I'm missing something here?

I have E_NOTICE turned off. :)

thanks.

-afan

>>
>> -afan
>
>

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to