Foros del Web » Programando para Internet » PHP »

Problema que no entiendo

Estas en el tema de Problema que no entiendo en el foro de PHP en Foros del Web. Tengo un problema muy extraño, la mayoría de usuarios insertan los datos correctos pero hay algunos que se les introduce el campo en blanco de ...
  #1 (permalink)  
Antiguo 18/02/2011, 13:52
Avatar de AdrianSeg  
Fecha de Ingreso: enero-2010
Mensajes: 595
Antigüedad: 14 años, 1 mes
Puntos: 14
Problema que no entiendo

Tengo un problema muy extraño, la mayoría de usuarios insertan los datos correctos pero hay algunos que se les introduce el campo en blanco de usuario y contraseña...sospecho que es por los navegadores que usan aunque no puedo conformarlo y mirando le codigo lo veo tan simple que no encuentro el error...

Código PHP:
Ver original
  1. $string = $_POST['mail'];
  2.  
  3.     $usuario = explode("@",$string);
  4.    
  5.  
  6. $str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";
  7. $cad = "";
  8. for($i=0;$i<6;$i++) {
  9. $pass .= substr($str,rand(0,62),1);}
  10.  
  11.  
  12. // Guardamos los datos en la BD
  13.  
  14.  
  15. $sSQL="INSERT INTO usuarios (nombre,apellidos,email,telefono,departamento,login,password,rango,codigo)  VALUES ('".$nombre."','".$apellidos."','".$email."','".$telefono."','".$departamento."','".$usuario[0]."','".$pass."','5','".$_SESSION["codigo"]."')";
  16.  
  17.  
  18. $result=mysql_query($sSQL) or die("<b>Error. El servidor dijo: </b> " . mysql_error());
  #2 (permalink)  
Antiguo 18/02/2011, 14:35
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 8 meses
Puntos: 416
Respuesta: Problema que no entiendo

¿Es ese todo el codigo? Antes de insertar los datos, verifica que no esten vacios usando empty
  #3 (permalink)  
Antiguo 18/02/2011, 15:08
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 13 años, 11 meses
Puntos: 461
Respuesta: Problema que no entiendo

tienes algun tipo de validacion de que los campos no pueden estar en blanco??? porque sino tienes esta ahi esta la respuesta, saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #4 (permalink)  
Antiguo 18/02/2011, 17:16
Avatar de jheckson  
Fecha de Ingreso: febrero-2011
Ubicación: $VE->Aragua['Maracay']
Mensajes: 109
Antigüedad: 13 años, 1 mes
Puntos: 8
Respuesta: Problema que no entiendo

te falta la validacion de campos, porque de esta manera los usuarios pueden dejar ciertos campos vacion y enviarlos como tal, llenando los registros con nada....
  #5 (permalink)  
Antiguo 19/02/2011, 10:23
Avatar de AdrianSeg  
Fecha de Ingreso: enero-2010
Mensajes: 595
Antigüedad: 14 años, 1 mes
Puntos: 14
Respuesta: Problema que no entiendo

Los campos no estan vacio, porque el email si se guarda pero no le hace el explode en algunos casos, valido que todos los campos esten relleno con javascript pero el problema es con el codigo que saca el usuario del email, que a veces va y muy pocas veces no va y no lo entiendo.
  #6 (permalink)  
Antiguo 19/02/2011, 12:39
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 10 meses
Puntos: 528
Respuesta: Problema que no entiendo

1. Verifica que los datos contengan la información adecuada, analizando cada tipo de dato, php puede hacer una segunda validación de email, con expresiones regulares.
2. La manera más sencilla de eliminar espacios en blanco al inicio y/o final de una cadena es con trim();
  #7 (permalink)  
Antiguo 20/02/2011, 06:26
Avatar de jheckson  
Fecha de Ingreso: febrero-2011
Ubicación: $VE->Aragua['Maracay']
Mensajes: 109
Antigüedad: 13 años, 1 mes
Puntos: 8
Respuesta: Problema que no entiendo

disculpa... si ese es todo tu codigo que utilizas para insetar los datos, faltarian que capturaces la informacion de tus demas campos del formulario como:

Código PHP:
Ver original
  1. $string1 = $_POST['nombre'];
  2. $string2 = $_POST['apellido'];
  3. $string3= $_POST['telefono'];
  4.  
  5. y asi con el resto... aunque lo que creo es que obviaste ese codigo en tu publicacion.

Etiquetas: Ninguno
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 21:23.