Chris W wrote:
Sungpill Han wrote:
HI, i want to check if the user filled the all inputs in the form. So, I
checked NULL and with this function in the post receiving script.
---
function is_filled_out()
{
// test that each variabl has a value
foreach($_POST as $key = $value)
{
if(is_null($value) || $value=)
= is assignment, == is equality...
if(is_null($value) || $value==)
or, since the value will never be null if it's already in $_POST
if($value=='')
I would recommend empty(), but if someone puts 0 (zero) in a field,
empty(0) returns true...
return false;
}
return true;
}
-
but when I submit the form without putting any value, it returns 'true'.
what's wrong with my code?
It is my understanding (not sure if it is correct though) that if your
form has a field named x and the user does not enter any value in that
field, there will be no entry for field x in the $_POST array.
This depends on the field. If it's a text box, then x will still be in
$_POST, but it'll be empty. If it's a checkbox, and the checkbox is not
checked, then x will not be in $_POST.
One thing to note for the original poster, all your code does is check
that there are no empty values within $_POST. it doesn't keep track of
how many there are or if the correct ones are there. If I make my own
form with a single text box that I put a value in, it'll be validated by
your code. Hopefully there's more to your validation than this. :)
--
---John Holmes...
Amazon Wishlist: www.amazon.com/o/registry/3BEXC84AB3A5E/
php|architect: The Magazine for PHP Professionals www.phparch.com
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php