It sounds like you need the following:
registration
--- web page form for following information-
student first, student last, student middle, student email, username, password, parent1 Name, parent1 email, parent2 Name, parent2 email
table with those columns, plus a primary key
---- log in page -containing user name and password
-->check against username password, get primary key from table (userPK)
-------------------------------------//////
teacher interface - username and password
if there is just one teacher, you could just make a private location that only the user would have access to
--- web page allowing the input of demerits - I'd just do a drop down for students, if there are under 45 of them, drop down for ActionID , NumberDemerit
interface would need
Student ID Date ActionID NumberDemerit Merit
table with same information as above
table Actions-
ActionID, ActionDescription, NumberDemerits
Then you would program the rest do the rest - each time the student logs in you could check if they have a merit or not, each time a student has a demerit, verify their total count is less that 6, if == 6 send out email. You could send out a warning if student is at 4 if you wanted.
That's a rough draft, start at one point and just keep going forward.
so, 3, maybe 4 tables in database
pages - 6
login for student
login for teacher
---- text for email
display page for student
page for input of demerits
when user logs out, page that says they are logged out
maybe a splash page-