Foros del Web » Programando para Internet » PHP »

Validar unica accion de un formulario

Estas en el tema de Validar unica accion de un formulario en el foro de PHP en Foros del Web. El problema que me sucedido, es que el usuario le da varios click a boton submit, creando en cola varios acciones y guardando en base ...
  #1 (permalink)  
Antiguo 27/06/2012, 20:44
Avatar de ApipeMc  
Fecha de Ingreso: septiembre-2010
Ubicación: Medellín, Antioquia, Colombia
Mensajes: 76
Antigüedad: 13 años, 6 meses
Puntos: 1
Validar unica accion de un formulario

El problema que me sucedido, es que el usuario le da varios click a boton submit, creando en cola varios acciones y guardando en base de datos múltiples datos que ya serian inconsistencias.

Lo he solucionando temporalmente aplicando una función de javascript. pero quería saber si alguien conoce una forma con php o php tiene algo interno para esto.
  #2 (permalink)  
Antiguo 27/06/2012, 22:50
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: Validar unica accion de un formulario

Mostranos un poco de tu codigo a ver que tenes.
  #3 (permalink)  
Antiguo 27/06/2012, 22:52
Avatar de ipraetoriux  
Fecha de Ingreso: abril-2010
Ubicación: ipraetoriux.com
Mensajes: 1.125
Antigüedad: 14 años
Puntos: 155
Respuesta: Validar unica accion de un formulario

agrega el formulario y el script del lado del servidor para ver que estas haciendo
  #4 (permalink)  
Antiguo 28/06/2012, 19:48
Avatar de ApipeMc  
Fecha de Ingreso: septiembre-2010
Ubicación: Medellín, Antioquia, Colombia
Mensajes: 76
Antigüedad: 13 años, 6 meses
Puntos: 1
Respuesta: Validar unica accion de un formulario

Código HTML:
Ver original
  1. <form action="action.php" method="POST">
  2.       <input type="text"  name="usuario"/>
  3.       <input type="text"  name="IdComercial" />
  4.       <input type="text"  name="IdContracto" />
  5.       <input type="submit" value="Guardar" />
  6. </form>

action.php
Código PHP:
Ver original
  1. <?php
  2.  
  3. if($_POST['guardar']{
  4.    
  5.    $model::Usuario()->save(array('usuario' => $_POST['usuario'],
  6.                                          'idComercial' => $_POST['IdComercial],
  7.                                         'idContracto'  => $_POST[''IdContracto]));
  8.  
  9. }
  10. ?>

Este es un ejemplo maso menos como es el código, ya que el código que original es con yii framework.
El inconveniente es que el servidor es muy lento y el usuario bastante impaciente y le da varias veces clic a botón guardar
y hace varias peticiones a la mismas acción y me guarda un duplicado de los mismos datos creando una inconsistencia.
  #5 (permalink)  
Antiguo 28/06/2012, 20:04
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Validar unica accion de un formulario

La unica forma que tienes de evitar que se ejecute X veces el mismo código es usando una variable de sesión, cuando se envie por primera vez la "defines", y luego verificas si la variable ya esta definida o no, si no lo esta ejecutas el código, si lo esta no lo ejecutas...
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)

Etiquetas: postback, acciones, 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 17:10.