Stopping consecutive same attempts from being sent to server.

This will avoid the double clicking issue.

Whether two consecutive attempts are the same is tested based on the program string stored in the current page. It will not handle the case if

1. The user switched the order of two function definitions.
2. The user refreshed the page in between.