By this system, if someone posts without login credentials, a new user ID is created and their IP address attached to it. But, without logging in, if they delete their cookies, this means a single person could end up with any number of user IDs. oof.
So, Oni Vagrant (on IMC), brought up another idea. Create a new field in the entries/edits tables, which contains the IP address which was used to make that post. In the IP table, instead of storing the user ID, simply store a variable which states whether the IP is blocked. This way, an action can be attached to posts, which would block both user (if any) and IP address. And there would only be one entry in the IP table for each IP address, instead of the possibility of multiple entries for a single IP address as used by separate users.
Also, it would prevent extra user accounts from being created.. user accounts would only be created when credentials are provided, instead of with each post. If the IP is blocked, the noncredentialed user will not be able to post. And yet, even if the IP is blocked, a credentialed user will be able to post, unless their account was blocked. And at the same time, posts will still be attached to IP addresses, so statistics can still be gathered. It may not be accurate, because potentially more than one person could end up using the same IP address, and only the IP address would be credited with the posts, not the individual users. But the other way of doing things is no more accurate, since the same person could potentially end up with limitless user IDs, if they delete their cookies (or they expire between postings).
Would probably also want to store a time stamp in the IP table, for use in an admin. panel. Would not really want to block any one IP address for eternity, so we could gage how long an IP has been blocked, and release it until is marked with abuse again, ee.
Hm.. think have forgotten something small. Aa well.. will show up again later, prolly. (^*^);
Do not dwell in the past.
Do not dream of the future.
Concentrate the mind on the