Hola antes que nada muchas gracias de nuevo, excelentes explicaciones y tiempo para la ayuda. He editado post anteriores para que no se cargue tanto la página, y aquí cito solo esta parte (resumida).
Cita:
Iniciado por New
Sigues haciendo mal uso de las condicionales, mas preciso los elseif.
El elseif no funciona para este caso, por ello no hay que usarlo. Olvidate de el.
Verás te podre un ejemplo
Código PHP:
Ver original$condicion1 = 1;
$condicion2= 2;
if($condicion==1){
}
elseif($condicion==2){
}
Teniendo claro esto, vamos a ver que validaciones requerimos. En listarlas:
-> Si los X checkbox estan seleccionados
-> Si al menos un X checkbox esta seleccionado identificar cual es
--> y tienen que:
-> Si los X textfield no estan vacios y son diferentes de "Incompleto"
Cita:
Iniciado por vgonga1986
Las condiciones de un if deben ser completas y excluyentes. Te pongo un ejemplo:
Código PHP:
Ver originalif ($num < 4) {
} else if ($num >= 4 && $num < 20) {
} else { // se sobreentiende que $num >= 20
}
Este caso es completo y excluyente, porque para cualquier valor de $num entra por un if y, además, sólo por uno.
Siguiendo todo lo anterior y probando una tras otra, me quedo con esta parte de la explicación, sin embargo por más vueltas que he probado otra vez caigo en lo mismo
Primero empiezo creando condiciones con un if completas y excluyentes o eso creo ya que aquí todo entra bien:
Código PHP:
Ver originalif ((isset($_POST['check11'])) && (isset($_POST['check12'])) && (isset($_POST['check20']))) {
//echo "Está seleccionado el 11";
echo "Están todos seleccionados";
}
//Si está seleccionado el 12
else if ((isset($_POST['check11'])) || (isset($_POST['check12'])) || (isset($_POST['check20']))) {
echo "Está seleccionado alguno";
}
// no está seleccionado ninguno
else
{
echo "Ningún checkbox marcado";
}
El problema llega cuando tengo que meter las 3 condiciones de los campos condicionados, ahí otra vez vuelvo a lo mismo:
Código PHP:
Ver original$cond1 = false;
$cond2 = false;
$cond3 = false;
if (!empty ($_POST['prestacion-diaria']) && ($_POST['prestacion-diaria'] != "Incompleto")) {
$cond1 = true;
}
if (!empty ($_POST['cirugia-y-tratamientos']) && ($_POST['cirugia-y-tratamientos'] != "Incompleto")) {
$cond2 = true;
}
if (!empty ($_POST['cirugia-y-tratamientos2']) && ($_POST['cirugia-y-tratamientos2'] != "Incompleto")) {
$cond3 = true;
}
if ((isset($_POST['check11'])) && (isset($_POST['check12'])) && (isset($_POST['check20']))) {
if($cond1 && $cond2 && $cond3)
{
echo "Están todos los campos marcados y correctos";
}
else
{
echo "Algún campo marcado está incorrecto";
}
//echo "Está seleccionado el 11";
echo "Están todos seleccionados";
}
//Si solo alguno o algunos están marcados
else if ((isset($_POST['check11'])) || (isset($_POST['check12'])) || (isset($_POST['check20']))) {
if($cond1 || $cond2 || $cond3)
{
echo "El campo o los campos señalados están correctos";
}
else
{
echo "El campo señalado o varios de los campos señalados están incorrectos";
}
echo "Está seleccionado alguno";
}
// no está seleccionado ninguno
else
{
echo "Ningún checkbox marcado";
}
¿que otra manera puedo usar? La verdad entiendo lo de completo y excluyentes como en el ejemplo de <4, sin embargo en este caso por más que lo intento no logro hacer algo parecido con esos campos condicionados.
Saludos.