The Incident table, with an auto-incrementing incident number, etc, looks like:
incident_num
|
reporter
|
date
|
time
|
incident_description
|
category
|
1
|
john1
|
2011-01-10
|
16:17:34
|
Can't remote login to AFS
|
network
|
2
|
bert456
|
2011-01-04
|
15:09:57
|
Password reset failed
|
system
|
4
|
john1
|
2010-12-29
|
15:10:59
|
DB Account requested
|
DB admin
|
Data sources: The times and dates are internally generated by MySQL based on the data types used in the table. The remaining fields, with the exception of the Incident_num which is internally generated, are determined by the HTML form inputs. Some form inputs are not inserted into the database but just used to guide processing [like the reporters indication as to whether they want an email copy of a submitted report, or not]. Some inputs like the email address, and the reporter (name) and password are already in database tables, and are only accessed [retrieved] for purposes of controlling authentication or email authorization. Some database columns, like the email limit for a reporter and their current number of sent emails, are entered manually using phpMyAdmin. They may be accessed for decision-making [like the email limit for an address] and update by the program when an email is sent.