Primero que nada: Todas las etiquetas y atributos HTML deben estar en minúsculas.
Un ejemplo con tu código (se me olvidó agregar la altura):
Código PHP:
Ver original<?php
// Una función útil para crear selects
function html_select
($name, $id, $value, $options = array(), $start = 0, $end = 0) { echo "<select name=\"$name\" id=\"$id\">\n";
if(count($options) == 0) { // Creamos el array con inicio y fin
if($start > 0) {
// Agregamos opción cero
$options[0] = 'Selecciona...';
}
for($i = $start; $i <= $end; $i++) {
$options[$i] = $i;
}
}
// Agregamos las opciones
foreach($options as $key => $val) {
// Para establecer la opción preseleccionada
$selected = ($key == $value) ? ' selected="selected"' : '';
echo "\t<option value=\"$key\"$sel>$val</option>\n";
}
echo "</select>\n";
}
// Primero los valores iniciales
$edad = 0;
$peso = 0;
$genero = "";
if(isset($_POST['edad'])) { $edad = intval($_POST['edad']); $peso = intval($_POST['peso']); $genero = $_POST['genero'];
// Validamos con los límites propuestos
if($edad < 14 || $edad > 100) {
$errores['edad'] = 'Selecciona tu edad';
}
if($peso < 30 || $peso > 200) {
$errores['peso'] = 'Selecciona tu peso';
}
$errores['genero'] = 'Selecciona tu género';
}
if(count($errores) = 0) { // OK, todo bien, aquí terminas de procesar
}
// Si hubo errores se mostrará nuevamente el formulario
}
?>
<form method="post" action="index.php" enctype="x-www-form-urlencoded">
<h3><terror>Sobre tu físico</terror></h3><br/>
<table border="0" align="left">
<tr>
<td><enun>Edad</enun></td>
<td>
<?php
// Crear select con opción predefinida
html_select
('edad', 'edad', $edad, array(), 14, 100);if(isset($errores['edad'])) { echo "<span class=\"error\">{$errores['edad']}</span>";
}
?>
</td>
</tr>
<tr>
<td><enun>Peso</enun></td>
<td>
<?php
// Crear select con opción predefinida
html_select
('peso', 'peso', $peso, array(), 30, 200);if(isset($errores['peso'])) { echo "<span class=\"error\">{$errores['peso']}</span>";
}
?>
</td>
</tr>
<tr>
<td><enun>Género</enun></td>
<td>
<?php
// Crear select con opción predefinida
html_select
('genero', 'genero', $genero, array("" => 'Selecciona', 'masculino' => 'Masculino', 'femenino' => 'Femenino'));if(isset($errores['genero'])) { echo "<span class=\"error\">{$errores['genero']}</span>";
}
?>
</td>
</tr>
</table>
<input type="submit" value="Enviar" class="button" />
</form>