Foros del Web » Programando para Internet » PHP »

El formulario no me recoge el valor 0 y me detecta errores

Estas en el tema de El formulario no me recoge el valor 0 y me detecta errores en el foro de PHP en Foros del Web. Hola: Estoy teniendo problemas con el formulario , me dice que hay campos sin rellenar (cuando no los hay) y cuando meto por ejemplo en ...
  #1 (permalink)  
Antiguo 28/10/2010, 09:09
 
Fecha de Ingreso: mayo-2010
Mensajes: 19
Antigüedad: 13 años, 11 meses
Puntos: 0
El formulario no me recoge el valor 0 y me detecta errores

Hola:

Estoy teniendo problemas con el formulario , me dice que hay campos sin rellenar (cuando no los hay) y cuando meto por ejemplo en numero de viviendas 0 no funciona (cuando meto otro numero lo coge sin problema)
¿Que estoy haciendo mal?

Aquí el código:


switch($_GET['accion']){
default:
echo '<form action="presupuesto.php?accion=enviar" method="post" enctype="multipart/form-data">';
echo '<dl><dt class="titulo">Datos solicitante</dt>';
echo '<dt class="nuevo"><label for="nombre">Nombre y apellidos<span>*</span></label><input type="text" name="nombre" id="nombre" /></dt>';
echo '<dt><label for="cargo">Cargo<span>*</span></label><select name="cargo" id="cargo"><option>Presidente</option></select></dt>';
echo '<dt class="nuevo"><label for="telefono">Tel&eacute;fono<span>*</span></label><input type="text" name="telefono" id="telefono" /></dt>';
echo '<dt><label for="email">Email<span>*</span></label><input type="text" name="email" id="email" /></dt>';

echo '<dt class="titulo">Datos de la comunidad</dt>';
echo '<dt class="nuevo"><label for="direccion2">Direcci&oacute;n<span>*</span></label><input type="text" name="direccion2" id="direccion2" /></dt>';
echo '<dt><label for="cp">C&oacute;digo Postal<span>*</span></label><input type="text" name="cp" id="cp" /></dt>';

echo '<dt class="nuevo"><label for="num_viviendas">Nº viviendas<span>*</span></label><input type="text" name="num_viviendas" id="num_viviendas" /></dt>';
echo '<dt><label for="num_locales">Nº locales<span>*</span></label><input type="text" name="num_locales" id="num_locales" /></dt>';

echo '<dt class="nuevo"><label for="garajes_propias">Plazas de garaje propias<span>*</span></label><input type="text" name="garajes_propias" id="garajes_propias" /></dt>';
echo '<dt><label for="garajes_externas">Plazas de garaje externas<span>*</span></label><input type="text" name="garajes_externas" id="garajes_externas" /></dt>';
echo '<dt><label for="ascensores">Ascensores<span>*</span></label><input type="text" name="ascensores" id="ascensores" /></dt>';

echo '<dt class="titulo">Empleados en n&oacute;mina</dt>';
echo '<dt class="nuevo"><label for="empleados" class="seguido">Portero, Conserje, Vigilante<span>*</span></label><input type="text" name="empleados" id="empleados" value="0"/></dt>';

echo '<dt class="titulo">Servicios que posee la comunidad</dt>';
echo '<dt class="nuevo"><label for="jardines" class="seguido">Jardines<span>*</span></label><input type="text" name="jardines" id="jardines" /></dt>';
echo '<dt><label for="piscina" class="seguido">Piscina<span>*</span></label><select name="piscina" id="piscina"><option value="no" selected="selected">No</option><option value="si">Si</option></select></dt>';
echo '<dt><label for="parabolica" class="seguido">Antena par&aacute;bolica<span>*</span></label><select name="parabolica" id="parabolica"><option value="no" selected="selected">No</option><option value="si">Si</option></select></dt>';
echo '<dt class="nuevo"><label for="sauna" class="seguido">Sauna/Gimnasio<span>*</span></label><select name="sauna" id="sauna"><option value="no" selected="selected">No</option><option value="si">Si</option></select></dt>';
echo '<dt><label for="locales" class="seguido">Locales Comerciales<span>*</span></label><input name="locales" id="locales" /></dt>';
echo '<dt class="nuevo"><label for="trasteros" class="seguido">Trasteros<span>*</span></label><select name="trasteros" id="trasteros"><option value="no" selected="selected">No</option><option value="si">Si</option></select></dt> ';

echo '<dt class="titulo">Observaciones</dt>';
echo '<dt class="nuevo"><textarea name="observaciones" id="observaciones" rows="7" cols="10"></textarea></dt>';
echo '<dt class="envio"><input type="checkbox" name="politica_privacidad" id="politica_privacidad" checked="checked"/><label for="politica_privacidad" class="seguido">Acepto la <a href="privacidad.htm">politica de privacidad</a></label>';
echo '<input type="submit" value="Enviar solicitud" class="enviar"/></dt>';
echo '</dl> ';
echo '<div class="separador"></div>';
echo '</form>';
break;

case "enviar":
$error=0;

if (empty($_POST['nombre'])){
$error=1;
$mensaje .= "<li>El campo nombre es obligatorio</li>";



SEGUIRIA....................
}


¿Tendrá algo que ver con la variable registrer_globals?
  #2 (permalink)  
Antiguo 28/10/2010, 09:34
Avatar de mjlucena  
Fecha de Ingreso: octubre-2010
Ubicación: Madrid
Mensajes: 19
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: El formulario no me recoge el valor 0 y me detecta errores

Hola,

creo que el problema es esto if (empty($_POST['nombre']))
La función empty comprueba que no tenga valor o sea 0.
Prueba a usar isset comprueba que la variable no está declarada. Sería algo así if (isset($_POST['nombre'])). Ya dirás.

Saludos.

Última edición por webosiris; 29/10/2010 a las 21:24
  #3 (permalink)  
Antiguo 29/10/2010, 01:37
 
Fecha de Ingreso: mayo-2010
Mensajes: 19
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: El formulario no me recoge el valor 0 y me detecta errores

gracias !!! si que era eso pero con el !isset para preguntarle si no estan definidas que entren al if

Última edición por alfredo49; 29/10/2010 a las 01:50

Etiquetas: detecta, formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:07.