• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 160
  • Last Modified:

Trying to validate a form with the number 0

I have a form and a validation script to insert the data. I want to allow the user to enter the values 0,1,2, or 3. If a user enters 0 as a value, they get an error that nothing has been entered. How do i allow 0's to be entered?
Sample of the form 
 
<li>
              <label for="WoodFrog">Wood Frog</label>
              <input name="WoodFrog" type="text" value="<?php if(isset($_POST['WoodFrog'])); ?>" />
</li>
 
 
sample of the validation script
 
if(empty($_POST['WoodFrog']))
		{
			$errors[] = 'You forgot to enter the number of Wood Frogs.';
		}
		else 
		{
			if($_POST['WoodFrog'] == 0 OR $_POST['WoodFrog'] == 1 OR $_POST['WoodFrog'] == 2 OR $_POST['WoodFrog'] == 3)
			{
				$woodFrog = trim($_POST['WoodFrog']);
			}
			else
			{
				$errors[] = 'You entered an invalid number for Wood Frog';
			}
		}

Open in new window

0
toymachiner62
Asked:
toymachiner62
  • 2
1 Solution
 
NerdsOfTechTechnology ScientistCommented:
empty(0) returns true USE isset instead

empty() reference:
http://us2.php.net/empty 
Sample of the form 
 
<li>
              <label for="WoodFrog">Wood Frog</label>
              <input name="WoodFrog" type="text" value="<?php if(isset($_POST['WoodFrog'])); ?>" />
</li>
 
 
sample of the validation script
 
if(isset($_POST['WoodFrog']))
                {
                        $errors[] = 'You forgot to enter the number of Wood Frogs.';
                }
                else 
                {
                        if($_POST['WoodFrog'] == 0 OR $_POST['WoodFrog'] == 1 OR $_POST['WoodFrog'] == 2 OR $_POST['WoodFrog'] == 3)
                        {
                                $woodFrog = trim($_POST['WoodFrog']);
                        }
                        else
                        {
                                $errors[] = 'You entered an invalid number for Wood Frog';
                        }
                }

Open in new window

0
 
NerdsOfTechTechnology ScientistCommented:
or better yet use is_null()

http://us2.php.net/manual/en/function.is-null.php
Sample of the form 
 
<li>
              <label for="WoodFrog">Wood Frog</label>
              <input name="WoodFrog" type="text" value="<?php if(isset($_POST['WoodFrog'])); ?>" />
</li>
 
 
sample of the validation script
 
if(is_null($_POST['WoodFrog']))
                {
                        $errors[] = 'You forgot to enter the number of Wood Frogs.';
                }
                else 
                {
                        if($_POST['WoodFrog'] == 0 OR $_POST['WoodFrog'] == 1 OR $_POST['WoodFrog'] == 2 OR $_POST['WoodFrog'] == 3)
                        {
                                $woodFrog = trim($_POST['WoodFrog']);
                        }
                        else
                        {
                                $errors[] = 'You entered an invalid number for Wood Frog';
                        }
                }

Open in new window

0
 
toymachiner62Author Commented:
is_null() works great. Thanks
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now