Hola vgonga1986.
He seguido tu ejemplo y creo que lo he entendido, he cambiado algunas cosas y con esto me sale perfectamente para seguir con lo demás:
Código PHP:
Ver original<?php
if(isset($_POST['enviar']))//Si pulso enviar {
//Primero hacemos un pequeño cambio para que los ifs de después no queden tan largos:
$cond1 = false;
$cond2 = false;
/*if (!empty($_POST['importe-diario'])) AND (strtolower($_POST['importe-diario'] != "incompleto"))) {
$cond1 = true;
}*/
if (!empty ($_POST['importe-diario']) && ($_POST['importe-diario'] != "Incompleto")) {
$cond1 = true;
}
if (!empty ($_POST['importe-diario3']) && ($_POST['importe-diario3'] != "Incompleto")) {
$cond2 = true;
}
// cond1 quedará true si importe-diario se rellenó con algún valor diferente de Incompleto y lo mismo con cond2 e importe-diario3.
if (isset($_POST['check2'])) { if (isset($_POST['check3'])) { // check2 y check3
if ($cond1 && $cond2) {
echo "CORRECTO: check2 marcado e importe-diario relleno. check3 marcado e importe-diario3 relleno.";
} else {
echo "ERROR: se marcó algún check y no se rellenó su campo.";
}
} else {
// check2 y no check3
if ($cond1) {
echo "CORRECTO: check2 marcado e importe-diario relleno.";
} else {
echo "ERROR: check2 marcado e importe-diario NO relleno.";
}
}
} else {
if (isset($_POST['check3'])) { // no check2 y check3
if ($cond2) {
echo "CORRECTO: check3 marcado e importe-diario3 relleno.";
} else {
echo "ERROR: check3 marcado e importe-diario3 NO relleno.";
}
} else {
// no check2 y no check3
echo "CORRECTO: check2 y check3 no marcados.";
}
}
}
?>
Muchas gracias
Hola de nuevo New, esa opción con un switch la intenté hace varios días pero no de la misma manera y me daba error, ahora he seguido la tuya, la entiendo perfectamente ( o eso creo) sin embargo algo me falla.
He probado asi:
Código PHP:
Ver original<?php
$caso = 1; // Si check2 y check3 están marcados e importe diario e importe diario3 no están vacios o Incompleto.
if( isset($_POST['check2']) && isset($_POST['check3']) && !empty($_POST['importe_diario']) || $_POST['importe_diario'] != "Incompleto" && !empty($_POST['importe_diario3']) || $_POST['importe_diario3'] != "Incompleto" ) $caso = 2; // Si check2 está marcado e importe diario no está vacio o "Incompleto"
else if( isset($_POST['check2']) && !empty($_POST['importe_diario']) || $_POST['importe_diario'] != "Incompleto") $caso = 3;// Si check3 está marcado e importe diario3 no está vacio o "Incompleto"
else if ( isset($_POST['check3']) && !empty($_POST['importe_diario3']) || $_POST['importe_diario3'] != "Incompleto" ) $caso = 4;// Si check2 y check 3 están vacios
else if( empty($_POST['check2']) && empty($_POST['check3'] )) if(isset($_POST['enviar']))//Si pulso enviar {
switch($caso){
case 1://código primer condicion
echo "Código primera condición";
break;
case 2://codigo segunda condicion
echo "Código segunda condición";
break;
case 3://código tercera condicion
echo "Código tercera condición";
break;
case 4://codigo cuarta condicion
echo "Código cuarta condición";
break;
}
// Cierro el envio total
}
?>
Pero no lo reconoce, también he probado introduciendo los cacos y variables después de pulsar el botón enviar y tampoco da resultado.
¿Me falta algún paso siguiendo tu ejemplo?
Gracias a los dos por vuestra ayuda y explicaciones.