Foros del Web » Programando para Internet » PHP »

formulario

Estas en el tema de formulario en el foro de PHP en Foros del Web. la cosa esta en que la 2a parte de la comprobacion sobre el campo apellidos no me muestra ningun error aunque lo haya mientras el ...
  #1 (permalink)  
Antiguo 14/07/2010, 08:58
 
Fecha de Ingreso: enero-2009
Mensajes: 40
Antigüedad: 15 años, 3 meses
Puntos: 0
formulario

la cosa esta en que la 2a parte de la comprobacion sobre el campo apellidos no me muestra ningun error aunque lo haya mientras el campo $nombre no haya erroes me manda a una pagina en blanco y no acabo de entender porque.
<?
if(!$_POST){
?>
<html>
<form action="login.php" method="post">
Nombre <input type=text name="nombre">
Apellidos <input type="text" name="apellidos">
<input type="submit" value="enviar">
</form>
</html>

<?
}else{
if(($nombre)==""){echo("Este campo no puede estar vacio");}
else {
if(strlen($nombre)<3||strlen($nombre>12)){ echo("El nombre debe tener entre 3 y 12 caracteres");}
elseif(preg_match("/[0-9]/", $nombre)){ echo("En este campo no se puede usar numeración");}

}
if(($apellidos)==""){echo("Este campo no pude estar vacio");}
elseif(preg_match("/[0-9]/", $apellidos)){ echo("En este campo no se puede usar numeración");}
else{echo("todos los datos son correctos");}
  #2 (permalink)  
Antiguo 14/07/2010, 09:10
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: formulario

Bueno yo que tu primero pondría
"<?php" en lugar de "<?"
  #3 (permalink)  
Antiguo 14/07/2010, 09:13
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: formulario

Debes usar $_POST['nombre'] y no $nombre.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #4 (permalink)  
Antiguo 14/07/2010, 09:13
 
Fecha de Ingreso: enero-2009
Mensajes: 40
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: formulario

pero eso no es lo que falla xD me llevan loco estas estructuras para comprobar variables no consigo que hagan lo que quiero xD
  #5 (permalink)  
Antiguo 14/07/2010, 09:19
 
Fecha de Ingreso: enero-2009
Mensajes: 40
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: formulario

no entiendo he probado a cambiar todo esto pero sigue sin funcionar las comprobaciones a apellidos toda la primera parte funciona
  #6 (permalink)  
Antiguo 14/07/2010, 09:25
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: formulario

Bueno no has cerrado un else, además esta raro el código, por que das la condición de que si existe $_POST te muestre el formulario, y si no, te de los errores o sea para empezar al entrar no existe post por lo tanto los errores ya te los da

para mi que deberias arreglarlo algo así

creas el archivo form.php

Código PHP:
Ver original
  1. <html>
  2. <form action="login.php" method="post">
  3. Nombre <input type=text name="nombre">
  4. Apellidos <input type="text" name="apellidos">
  5. <input type="submit" value="enviar">
  6. </form>
  7. </html>

y creas el archivo login.php
Código PHP:
Ver original
  1. <?php
  2. //declaramos las variables
  3. $nombre = $_POST['nombre'];
  4. $apellidos = $_POST['apellidos'];
  5.      if(($nombre)=="")
  6.      {
  7.          echo("El campo nombre no puede estar vacio");
  8.      }
  9.      else
  10.      {
  11.      if(strlen($nombre)<3||strlen($nombre>12))
  12.      {
  13.          echo("El nombre debe tener entre 3 y 12 caracteres");
  14.      }
  15.          elseif(preg_match("/[0-9]/", $nombre))
  16.      {
  17.          echo("En el campo nombre no se puede usar numeración");
  18.      }
  19.  
  20.      }
  21.      if(($apellidos)=="")
  22.      {
  23.          echo("El campo apellidos no pude estar vacio");
  24.      }
  25.      elseif(preg_match("/[0-9]/", $apellidos))
  26.      {
  27.          echo("En el campo apellidos no se puede usar numeración");
  28.      }
  29.      else
  30.      {
  31.          echo("todos los datos son correctos");
  32.      }
  33. ?>

así me funciona perfecto

Última edición por memoadian; 14/07/2010 a las 09:39
  #7 (permalink)  
Antiguo 14/07/2010, 09:41
 
Fecha de Ingreso: enero-2009
Mensajes: 40
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: formulario

he encontrado un error muy tonto.. y es que la direccion del action form lo tenia dirigido a login.php y habia creado login2.php para hacer pruebas y no lo cambié.. lo raro es que todo iva bien hasta las comprobaciones de apellido por cierto si pongo !s_post significa si no recibo nada de post.. enseño el formu y si recibo me voy a comprobaciones al menos a mi me fuciona como espero.. he probado tu codigo implementadolo dentro del mio y esta ok gracias por ayudarme de verdad se que debe ser pesao ayudar a negaos xD
  #8 (permalink)  
Antiguo 14/07/2010, 09:49
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: formulario

En realidad es tu código, solo lo arregle a como deberia estar :P
lo que no entiendo es para que compruebas si existe post, evidentemente nunca va a existir, ya que para eso entras al formulario

Etiquetas: 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 08:58.