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í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