Hi, everyone, I need your help!
I encounter a problem.
My company has an online registration program. We are using Perl to handle the form submit. When user submits the application form, the Perl program will check the record (flat file database) the userID and memberID. If any of them is found in the database, the application won't be accepted; otherwise, the form information will be stored into the data file.
The program works fine until yesterday. Yesterday, the data management person found out that there are two identical records in the data files. The userID and memberID , also other information is exactly same. I checked my program, but couldn't find anything wrong. The code is:
$found = "0";
while ( ($line = <IN>) && ($found == 0) )
{
chomp($line);
@member = split(/\[\w*\]+/,$line);
if (($memID eq $record[1]) || ($userID eq $record[8])){
$found = "1";
}
}
If $found is not zero, the program won't call the store record function. But this time it stored it.
How could this happen? What is the possibility for this case? Is there any one has any idea about it? Yesterday, our server experienced slowness on the firewall and took down the Internet access. If the user clicked the submit form, but didn't get the response, then back the form page and submit it again, could Perl store the second record when the first one is processing?
Thank you for any help!!
I encounter a problem.
My company has an online registration program. We are using Perl to handle the form submit. When user submits the application form, the Perl program will check the record (flat file database) the userID and memberID. If any of them is found in the database, the application won't be accepted; otherwise, the form information will be stored into the data file.
The program works fine until yesterday. Yesterday, the data management person found out that there are two identical records in the data files. The userID and memberID , also other information is exactly same. I checked my program, but couldn't find anything wrong. The code is:
$found = "0";
while ( ($line = <IN>) && ($found == 0) )
{
chomp($line);
@member = split(/\[\w*\]+/,$line);
if (($memID eq $record[1]) || ($userID eq $record[8])){
$found = "1";
}
}
If $found is not zero, the program won't call the store record function. But this time it stored it.
How could this happen? What is the possibility for this case? Is there any one has any idea about it? Yesterday, our server experienced slowness on the firewall and took down the Internet access. If the user clicked the submit form, but didn't get the response, then back the form page and submit it again, could Perl store the second record when the first one is processing?
Thank you for any help!!