Estoy haciendo un cgi que cada vez que se hace una solicitud manda un correo de activación (esto ya lo tengo). El problema que tengo es que cuando desde el correo le doy click al enlace el cual me direcciona a otro script de Perl, al momento de hacer el insert lo hace dos veces; ya verifiqué que el script solamente se ejecuta una sola vez, pero cuando veo el resultado en la base de datos, resulta que el registro está duplicado.
Entonces tengo otra aplicación (pero no desde el correo) donde también se pueden activar estas solicitudes y ahí no tengo ningún problema y prácticamente es el mismo código. Solamente desde el correo es cuando me duplica la información.
Aquí les pongo el código que estoy ocupando:
Using perl Syntax Highlighting
($rs,$fetch) = record(db=>"$FORM{db}",tabla=>"modificado",condicion=>"WHERE clvproyecto='$FORM{programa_quitar}' and clvuaa='$FORM{clvuaa}' a
nd anio=$FORM{anioconsulta} and tipo='GL' and tipo_reg='R'",campos=>"max(control)",alias=>"maximo",visible=>"no");
while($fetch->()) {}
$$rs{maximo}+=1;
$sql="INSERT INTO modificado (clvuaa,clvproyecto,clvpartida,tipo,reduccion,anio,fech_mov,descripcion,control,ip,usuario,tipo_reg,fech_aplicacion) VALUES ('$FORM{clvuaa}','$FORM{programa_quitar}',$FORM{partida_quitar},'GL','$importes',$FORM{anioconsulta},'$fecha','APLICADO POR EL SISTEMA',$$rs{maximo},'$ip','$FORM{usr}','R','$FORM{fech_aplicacion}');";
&ejecuta("$FORM{db}",$sql);
nd anio=$FORM{anioconsulta} and tipo='GL' and tipo_reg='R'",campos=>"max(control)",alias=>"maximo",visible=>"no");
while($fetch->()) {}
$$rs{maximo}+=1;
$sql="INSERT INTO modificado (clvuaa,clvproyecto,clvpartida,tipo,reduccion,anio,fech_mov,descripcion,control,ip,usuario,tipo_reg,fech_aplicacion) VALUES ('$FORM{clvuaa}','$FORM{programa_quitar}',$FORM{partida_quitar},'GL','$importes',$FORM{anioconsulta},'$fecha','APLICADO POR EL SISTEMA',$$rs{maximo},'$ip','$FORM{usr}','R','$FORM{fech_aplicacion}');";
&ejecuta("$FORM{db}",$sql);
Coloreado en 0.005 segundos, usando GeSHi 1.0.8.4
¿Tienen alguna idea de por qué está pasando esto si solamente estoy ejecutando un solo INSERT y no tengo ningún for ni nada por el estilo?
De antemano muchas gracias.