Ver Mensaje Individual
  #18 (permalink)  
Antiguo 15/08/2014, 11:10
RabidFish
 
Fecha de Ingreso: julio-2008
Ubicación: Córdoba, Argentina
Mensajes: 266
Antigüedad: 15 años, 9 meses
Puntos: 26
Respuesta: Correo de verificacion con codigo de verificacion

Claramente el problema viene de la definición del tipo de dato en la base de datos. Si estás usando MySQL, asegúrate de que el campo donde guardas el código numérico sea un BIGINT preferiblemente con la propiedad UNSIGNED, de esta forma te aseguras (y con margen de sobra) que tiene suficiente "capacidad" como para almacenar el número generado aleatoriamente.

Si no defines el campo correctamente, podría pasar lo siguiente: supongamos que generaste el número 9.183.794.420 de manera aleatoria y lo almacenas en un campo INT(10). Lo que ocurrirá es que en la base de datos se almacenará el valor máximo posible (en este caso 2.147.483.647, o 4.294.967.295 si utilizaras la propiedad UNSIGNED), el cual no coincidirá con el valor original que sí ha sido enviado correctamente por correo. Esto explicaría por qué en ocasiones los números sí te coinciden, ya que a veces el número generado puede ser menor o igual al valor máximo soportado por el campo en la base de datos y por lo tanto es almacenado correctamente.

En el caso de maurosoft2012, el problema se resuelve justamente porque ya no utiliza valores numéricos sino una cadena de texto.

Saludos.

Última edición por RabidFish; 15/08/2014 a las 11:25