Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/06/2011, 18:56
Avatar de kahlito
kahlito
Colaborador
 
Fecha de Ingreso: marzo-2003
Ubicación: En el Estrecho y el mar
Mensajes: 2.936
Antigüedad: 21 años, 8 meses
Puntos: 65
Recorrer campos de un formulario para no repetir un aviso de Incompleto continuamente

Hola.

Estoy haciendo pruebas con un formulario en el cual cuando envío los datos si algún campo está vacío marca "Incompleto" y a la vez lo estoy pasando al color rojo en html.

Por ejemplo con el campo nombre:

Código PHP:
Ver original
  1. <label for="nombre">Nombre:</label>
  2. <input type="text" id="nombre" name="nombre" value="<?php if(isset($_POST['nombre']) && $_POST['nombre'] == "")
  3. {echo "Incompleto";} else {echo $_POST['nombre'];} ?>"
  4.  <?php
  5. //---------Aquí lo paso al color rojo si sigue vacio o como "Incompleto"
  6. if(isset($_POST['nombre']) && $_POST['nombre'] == "" or $_POST['nombre'] == "Incompleto" )
  7. {echo 'class="aviso-formulario"';}
  8. ?>
  9.  /><br />

El siguiente sería por ejemplo apellidos:

Código PHP:
Ver original
  1. <label for="apellidos">Apellidos:</label>
  2. <input type="text" id="apellidos" name="apellidos" value="<?php if(isset($_POST['apellidos']) && $_POST['apellidos'] == "") {echo "Incompleto";} else {echo $_POST['apellidos'];} ?>"
  3.      
  4. <?php
  5. //-----Aquí lo paso de nuevo al color rojo si sigue vacio o como "Incompleto"
  6. if(isset($_POST['apellidos']) && $_POST['apellidos'] == "" or $_POST['apellidos'] == "Incompleto" )
  7. {echo 'class="aviso-formulario"';}
  8.  ?>    
  9.  /><br />

Es decir por cada nuevo campo añado el siguiente codigo para que haga el aviso en rojo:

Código PHP:
Ver original
  1. <?php
  2. //-----Aquí lo paso de nuevo al color rojo si sigue vacio o como "Incompleto"
  3. if(isset($_POST['apellidos']) && $_POST['apellidos'] == "" or $_POST['apellidos'] == "Incompleto" )
  4. {echo 'class="aviso-formulario"';}
  5.  ?>


Si tengo 4 o 5 campos no le veo problema pero si quisiera hacer lo mismo con 10 o 15 campos más como dirección, teléfono, cp etc etc... ¿tengo que ir uno a uno cambiando siempre el nombre de cada campo input o hay otra opción con un bucle, array o creando una función?

Saludos.