Te recomiendo que para cualquier operacion (para tu tipo de proceso), una vez que hayas registrado los datos, actives una variable en la session, de esta forma. si hacen refresh, atras o eso del print.... la segunda vez, ya va existir dicha variable y ya no permitiras que vuelva a registrar.
Suerte