Ver Mensaje Individual
  #5 (permalink)  
Antiguo 17/04/2006, 10:26
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Cita:
Iniciado por uamistad
Hay otra forma.

Métele a cada formulario un número único de identificación. Cuando insertes los datos, también inserta el número de identificación de tu formulario. Este campo está oculto con un

<input type="hidden" name="num_form" value="1259di39l3p845yu">

De esa forma, antes de insertar los datos verifica que esta información no haya sido ya ingresada anteriormente. Si notas que el número es el mismo, entonces ignora la petición de insertar.

Esta técnica es útil sobre todo porque hay veces en que un usuario hace click varias veces en el botón de enviar y así se evita insertar varias veces la misma información.

Genera tus números de formulario aleatoriamente, yo uso una cadena de 16 caracteres alfanuméricos aleatorios y lo hago con la siguiente función. Hasta pronto y suerte !

Código PHP:
  function randomkey($length)
      {
        
$pattern "1234567890abcdefghijklmnopqrstuvwxyz";

        for(
$i=0;$i<$length;$i++)
            
$key .= $pattern{rand(0,35)};

       return 
$key;
      } 
En resumen si quieres usar esa técnica para validar tu dato .. no es necesario que te bases en un "ID" generado aleatóriamente .. muchas veces el dato a ingresar siempre hay un campo que para nuestra aplicación es "único" o así debe serlo: un "nick" .. un "nombre" .. un "rut,dni ..etc" .. un "n° de contrato" .. basate en ese dato verificando antes de ingresar (hacer tu "INSERT" ) que exista ese dato en tu BBDD y validalo con ese dato.

Así por lo menos no consumes un dato extra en toooooodos los registros de tus tablas implicadas ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.