You are here: Re: [PHP] Re: isset « PHP « IT news, forums, messages
Re: [PHP] Re: isset

Posted by Bret Hughes on 09/29/69 11:08

On Tue, 2005-02-15 at 16:22, M. Sokolewicz wrote:

> > Chris.
> that's a different issue.
> There are always at least 2 things you should do with your (expected) input:
> 1 - check if it *exists* (isset)
> 2 - check the validity (input-validation)
>
> for step #2 empty is very commonly used, and also a very useful
> function. However, you should never do #2 without #1, since that again
> raises issues (of security, problems, unexpected input, etc)
>
> Also note that empty($non_existent_var) will always throw an E_NOTICE
> error when the variable in question is not set. isset() is the only
> function/language-construct that can check for the existence of
> variables without throwing an E_NOTICE.


This is not true and explicitly states so in the doc. I had to reread
it to remember why I stopped using it. empty will return true if the
value is one of several things "", "0", 0 to name a few. Since I do not
consider these empty I stick with isset and then test for a valid value
depending on the circumstance.

Personally, I think people piss and moan too much about what I consider
proper coding practices. Input validation is to important to skimp on.
Again it is my opinion.

I have been revisiting some php code that I wrote a couple of years ago
and have been pleasantly surprised at the job I did on input validation.

A similar complaint occurs when installing a new version of or moving
code to another box where register_globals is not on. I pissed and
moaned and wailed for about 10 minutes until I thought about it and can
now see the value in not having unknown variables pollute the namespace.

Of course, since most of my code was already validating the variables, a
few :s/\$\(var\)/\$_GET[\1]/ iterations and I was good to go. Yes it
took some time but I feel better having done it.

I just wish there was a use strict; sort of deal so I would not have to
hunt down logic errors due to mistyping a variable name.

Bret

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация