Help with trivial validation function

Hi everyone,
can anyone please help me do this right? I am trying to validate a form with category id, of which list I pull out of the DB to make sure the id is valid. But seem to get errors of invalid argument for "foreach". I am attaching the function below. I am a sort of beginner, so I am sure that everyone will have much better solution, but I am trying to do it myself (with this exception) and just need to find an error in my script.. not an entire new solution. that will be next :-)
$category_id_errors = check_cagegory_id(array('category')); 
 
 
function check_cagegory_id($check_category_id) {  //this is the funtion referred to in the code above
	$form_errors = array();
	
	$subject_set = get_all_subjects();
	if(mysql_num_rows($subject_set)>=1) {
		$subjects = array();
		while($subject = mysql_fetch_array($subject_set)) {
			$subjects[] = $subject['id'];
		}
		foreach($check_cagegory_id as $fieldname) {
			if((!isset($_POST[$fieldname]))||(!in_array($_POST[$fieldname], $subjects))) {
				$form_errors[] = $fieldname ."doesn't exist";
			}
		}
	} else {
		$form_errors[] = $fieldname." - no category to associate a new page with";
	}
	return $form_errors;

Open in new window

czechmate1976Asked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

kevin_uCommented:
In the foreach,

$check_cagegory_id

is spelled wrong

It should be:

$check_category_id

0
czechmate1976Author Commented:
Thanks, I corrected it but still get "Warning: Invalid argument supplied for foreach() in C:\xampplite\htdocs\FGEnew\siteadmin\includes\functions.inc.php on line 218"

which is the following:
foreach($check_category_id as $fieldname) {
                  if((!isset($_POST[$fieldname]))||(!in_array($_POST[$fieldname], $subjects))) {
                        $form_errors[] = $fieldname ."doesn't exist";
                  }
0
kevin_uCommented:
The underlying issue is that $check_category_id is not an array.  Thats the cause of the error message.   In your short example, it is surely an array.  But is it called the same way in the full script?
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
czechmate1976Author Commented:
resolved. Sorry, after days staring at the code I can hardly see.. Thanks for your help
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
PHP

From novice to tech pro — start learning today.