Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] PHP OO Evitar doble registro al actualizar la web o perdida de conexion

Estas en el tema de Evitar doble registro al actualizar la web o perdida de conexion en el foro de PHP en Foros del Web. Hola a todos.. Quisiera contarles un problema que no pense que algun dia me tocaria hacerlo resulta que tengo un editor que envia un nuevo ...
  #1 (permalink)  
Antiguo 15/01/2018, 11:46
 
Fecha de Ingreso: junio-2011
Mensajes: 76
Antigüedad: 13 años, 4 meses
Puntos: 0
Mensaje Evitar doble registro al actualizar la web o perdida de conexion

Hola a todos..

Quisiera contarles un problema que no pense que algun dia me tocaria hacerlo
resulta que tengo un editor que envia un nuevo insert a la base de datos.
el editor carga la informacion de 2 tablas. e inserta una en 1 tabla asi que
lo diferenciare como tabla 1 y tabla 2

Al enviar un insert a tabla 2 y la pagina envia el insert y justo uando envia no llega a mostrar el mensaje de que se envio con exito, simplemente se corto el internet y sale en el navegador el error que conoces cuando no hay internet, bueno la persona que al ver eso sabe que se fue el internet entonces solo lo actualiza el navegador y nuevamente vuelve a enviar el insert y esto hace que se duplique el registro.

quisiera una forma de que cuando pase eso, evite que se duplique conocen alguna forma?
quiero mencionar que en la tabla 2 siempre se va insertar las mismas filas ejemplo.

Tabla: 2
Nombre - folios - oficina - estado - operacion - pais
eliana | 1 | 2 | 10 | si | 1 | peru
eliana | 1 | 2 | 4 | si | 1 | peru
eliana | 1 | 2 | 4 | si | 1 | peru

como pueden ver aveces repito el mismo, podria hacer que revise si ya existe uno igual, pero eso me complicaria al querer realizar nuevos insert..

la verdad que pienso que en algo hice mal :v no se si saben alguna otra forma.
espero algun buen consejo o metodo gracias
  #2 (permalink)  
Antiguo 15/01/2018, 11:50
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 9 años, 4 meses
Puntos: 263
Respuesta: Evitar doble registro al actualizar la web o perdida de conexion

agrega un código auto generado al ingresar al form en un campo oculto y que este se envíe, luego validas ese código único por cada registro, en cuanto se corte el Internet e intente ingresar el registro, se dará cuenta de que el código enviado por form, ya esta registrado, es lo que se me ocurre
__________________
[email protected]
HITCEL
  #3 (permalink)  
Antiguo 15/01/2018, 11:56
 
Fecha de Ingreso: junio-2011
Mensajes: 76
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Evitar doble registro al actualizar la web o perdida de conexion

Podria ser de esta manera segun lo que me dices y logro entender.

1. creo un nuevo campo llamado: codigo (es un ejemplo)
2. creo una funcion que genere el codigo: $codigo_random = genera_random(7);
3. En el formulario de forma oculta se genera el codigo random y envia a la base de datos.

supongo que eso es lo que me quieres decir?
te agradeceria tu resuesta
tambien quiero mencionar que el form y el insert y toda la query se encuenta en el mismo archivo.
  #4 (permalink)  
Antiguo 15/01/2018, 12:07
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 9 años, 4 meses
Puntos: 263
Respuesta: Evitar doble registro al actualizar la web o perdida de conexion

1.- No importa que todo este en el mismo archivo, aunque lo ideal es que esten en archivos separados.

1.- Si claro, habria una funcion que generaria un código al momento de entrar a la pagina del formulario y lo colocaria en un campo oculto de tu form.

3.- En tu base se agregaria un campo adicional donde se almacenaria dicho codigo, podrias utilizar uniqid() para darle mayos exclusividad o combinar:

Código PHP:
Ver original
  1. $cod = uniqid().rand(999,9999);

o algo si.

luego si pasa lo que comentas y se inserta el registro pero no emite la respuesta por a falta de internet, la funcion de insercion validaria dicho codigo que va desde el formulario que quedo en memoria cache, si ya se encuentra insertado, emite la respuesta respectiva.
__________________
[email protected]
HITCEL
  #5 (permalink)  
Antiguo 15/01/2018, 15:53
 
Fecha de Ingreso: junio-2011
Mensajes: 76
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Evitar doble registro al actualizar la web o perdida de conexion

probare la idea gracias.

Etiquetas: conexion, doble, nombre, perdida, registro, tabla
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 23:46.