A ver, en primer lugar, para testear tu código de forma sencilla deberías cambiar las variables $_POST['xxx'] por $nombreVariable según corresponda al inicio.
Así podrás cambiar las variables POST por otras para testear el code.
Por ejemplo:
Código PHP:
$oculto = /*$_POST['oculto']*/ 'oculto';
$nombre = /*$_POST['nombre']*/ 'nombre';
$email = /*$_POST['email']*/ '[email protected]';
$mensaje = /*$_POST['mensaje']*/ 'mensaje de texto';
$telefono = /*$_POST["telefono"]*/ '956656565';
if($oculto) {
if(isset($nombre) && !empty($nombre) &&
isset($email) && !empty($email) &&
isset($mensaje) && !empty($mensaje)) {
$errores = array();
//...
//...
Y después, cambiar la línea como comentaba antes pero en vez de poner los signos "&&" los cambias por "||"
Código PHP:
//aquí es donde indicaba el fallo en el anterior mensaje,
//era lo que decía, pero hay que cambiar los && por ||
if(!isset($telefono) || empty($telefono) || strlen($telefono) != 9 || !is_numeric($telefono)) {
$errores[5] = "Telefono no valido!";
}
PD.: Siempre hay que testear el código, o como mínimo escribir pensando en testear de forma sencilla. Esto acelera el desarrollo y minimiza los errores facilitando la localización de los mismos.
Prueba y me cuentas.
Saludos,