a quick, non-technical explanation:
- with each guestbook entry you store the date & time of the entry and the user's IP address
- with each guestbook entry, you check the database for the same IP address
- if that IP address is found, you check if the dates match
- if the dates match, check the time difference between the last post made by the user with that IP address and the current time
- if the time difference is smaller or equals the minimum, deny the entry
- if the time difference is larger than the minimum, allow the entry
- if the dates don't match the time difference must be larger than the minimum, so allow the entry
- if that IP address isn't found, you can let the entry pass (assuming you only check by IP address)