Re: $_POST bug?

From: Date: Thu, 13 Nov 2003 09:27:49 +0000
Subject: Re: $_POST bug?
References: 1 2  Groups: php.general 
Request: Send a blank email to php-general+get-169457@lists.php.net to get a copy of this message
On Thu, Nov 13, 2003 at 04:04:16AM -0500, Jake McHenry wrote: : : print_r($_POST) shows me that $_POST has the single 0 value. I solved : my problem, instead of having just if ($_POST['test']), I changed it : to if ($_POST['test'] != ""). Right after I posted, I tried this, and : a couple other things.. The problem only happens when I don't have any : conditions within the (). That's due to PHP's automatic type conversion. In other words, certain string values can get evaluated to either a boolean TRUE or FALSE. So you have to do explicit tests. For example, what does this code snippet do? if ($_POST['test']) { do_right(); } else { do_wrong(); } If $_POST['test'] has an empty string, it calls do_wrong(). If $_POST['test'] has the string "0", it still calls do_wrong(). http://www.php.net/manual/en/language.types.boolean.php#language.types.boolean.casting Your move to change your if-statement is a good start to doing the right thing. The next step is to scrub your $_POST data and make sure that it is valid.

« previous php.general (#169457) next »