Where to draw the line with online forms
Honestly, never ever let user preferences interfere with online form functionality. If you are using sessions on a web app, do not let the client have any personal preferences that would compromise the integrity of the system. I just recently ran into this, and it is causing more headaches then you can imagine. Our problem is that we built in a ridiculously complicated error checking system that allows the client to check individual field values against preprogrammed ranges. When the system detects an out of range value, it allows the user to 1) either fix the problem, or 2) override the value and log this override in a seperate table. Things were going fine until they started multiple overrides on a given form, sometimes overriding data and then continuing data entry while in the "error" state (in other words data was still hanging around in $_POST limbo)....needless to say things got complicated and the error handling function and table ballooned out to ridiculous levels. The lesson learned? Never let the client get picky with onine session based forms, if possible ..be as restrictive as possible and enforce 1 time data entry, don't allow them to half fill out a form and then return, because it's just bad practice. Incorporate a FAQ that states all of the things they shouldn't be doing, like navigating with browser buttons (which drives me ballistic) or submitting a field with a blank space (ie hitting the spacebar). As long as you state these things from the get go, you're not accountable for their user entry mistakes.

