Añado más explicación: el problema no es de código PHP, el problema es del planteamiento de los ifs. Un bloque de ifs tiene que tener dos condiciones, que al menos una opción se ejecute y que no se puedan ejecutar dos opciones (ya que la segunda nunca se alcanzará):
Cita:
Iniciado por kahlito
// Opciones disponibles para que se envie
// Si Check1, check2, check3 y check4 marcados y con las condiciones verdaderas
// Check1 marcado y condicion verdadera
// Check2 marcado y condicion verdadera
// Check3 marcado y condicion verdadera
// Check4 marcado y condicion verdadera
// Si Check1 o check2 o check3 o check4 marcados y con las condiciones verdaderas
"Check1 marcado y condicion verdadera" es verdadero siempre que "Si Check1 o check2 o check3 o check4 marcados y con las condiciones verdaderas" para check1 sea verdadero, luego siempre va a entrar por las dos condiciones. Tienes que replantearte la construcción del bloque if.