Ver Mensaje Individual
  #13 (permalink)  
Antiguo 02/04/2007, 08:19
The Neurochild
 
Fecha de Ingreso: marzo-2007
Mensajes: 53
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: Formulario + campos obligatorios + menus desplegables

Esta es mi versión del ejemplo que funciona hasta cierto punto

Código:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
</head>
<body>
<p>
  <?php 
// Valores por default de las variables 
$nombre = ""; 
$ape_pat = ""; 
$ape_mat = ""; 
$edad = ""; 
if( isset( $_POST['submit'] ) ) 
{ 
   // Creamos nombres de variables cortos 
   $nombre = trim( $_POST['nombre'] ); 
$ape_pat = trim( $_POST['ape_pat'] ); 
   $ape_mat = trim( $_POST['ape_mat'] ); 
$edad = trim( $_POST['edad'] ); 
   // validamos que se hayan enviado los campos nombre, edad y alguno de los 2 apellidos 
if( ( !empty( $nombre ) && !is_numeric( $nombre ) ) && ( !empty( $ape_pat ) || !empty( $ape_mat ) ) && ( !is_numeric( $ape_pat ) && !is_numeric( $ape_mat ) ) && ( !empty( $edad ) && is_numeric( $edad ) ) ) 
   { 
      header("Location: tupagina.php");  
      exit; 
} 
   else 
   { 
      echo "Por favor corrija los campos marcados con rojo.</br>"; 
if( empty( $nombre ) || is_numeric( $nombre ) ) 
         $nombre = $nombre."\" style=\"background-color: #FF0000\""; 
      if( empty( $ape_pat ) && empty( $ape_mat ) ) 
{ 
         echo "Por favor, de los campos que estan marcados con verde llene alguno de ellos.</br>"; 
$ape_pat = $ape_pat."\" style=\"background-color: #00FF00\""; 
         $ape_mat = $ape_mat."\" style=\"background-color: #00FF00\""; 
      } 
      if( is_numeric( $ape_pat ) ) 
         $ape_pat = $ape_pat."\" style=\"background-color: #FF0000\""; 
      if( is_numeric( $ape_mat ) ) 
         $ape_mat = $ape_mat."\" style=\"background-color: #FF0000\""; 
      if( empty( $edad ) || !is_numeric( $edad ) ) 
         $edad = $edad."\" style=\"background-color: #FF0000\""; 
      echo "<p>"; 
   } 
} 
?>
Los campos marcados con asterisco (*) son obligatorios y  en cuanto a los apellidos, por lo menos debe escribir uno:</p>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="forma">
<p>Nombre: 
    <input name="nombre" type="text" value="<?php echo $nombre; ?>" />
    <br />
    Apellido Paterno: 
<input name="ape_pat" type="text" value="<?php echo $ape_pat; ?>" />
    <br />
    Apellido Materno:
    <input name="ape_mat" type="text" value="<?php echo $ape_mat; ?>" />
    <br />
 Edad:
 <input name="edad" type="text" value="<?php echo $edad; ?>" />
  </p>
  <p>
    <input name="submit" type="submit" value="Enviar" />
  </p>
</form>
</body>
</html> 
El problema con este código es que no te lleva a la página de destino indicado en header, ino que te lleva a una página en blanco.

Además tengo una duda: ¿cómo puedo hacer yo para guardar y verificar valores provenientes de radioboxes y listas desplegables por ejemplo?

Espero tener una pronta respuesta. Nos vemos

The Neurochild