Ver Mensaje Individual
  #9 (permalink)  
Antiguo 22/07/2011, 08:58
Avatar de vgonga1986
vgonga1986
 
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: Evitar envio de formulario con checkbox marcado con otro campo input vacio

Bueno, creo que te estás ahogando en un baso de agua, no hay como llevar un poco de orden:

Código PHP:
//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-diario3'])) AND (strtolower($_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 (cond3) {
         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.";
   }

No lo he probado, pero en principio irá bien, prueba todas las convinaciones y si alguna no imprime lo que tiene que ser, me dices cuál. Espero que esté todo bien.

Un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?