Mmm... puede ser pero primero revisa si los datos que estas enviando en el formulario estan siendo realmente enviados, por ejemplo:
Código php:
Ver original<?php
$required_fields = array('menu_name', 'position', 'visible'); foreach($required_fields as $fieldname){
echo '<br>$_POST['.$fieldname.'] = '.$_POST[$fieldname];
if(!isset($_POST[$fieldname]) || (empty($_POST[$fieldname]) && $_POST[$fieldname] != 0)){ $errors[] = $fieldname;
}
}
?>
Tal vez pueda ser que los valores no estan siendo enviados.
Si es que los datos estan siendo enviados y reflejados aca ya entramos a validar si el if esta haciendo lo correcto en cada caso.
Suerte!