* Thus wrote Chris W. Parker ([EMAIL PROTECTED]): > Hiya. > > The way I do my forms is I create a form page and a corresponding > processing page. I don't like to post forms to themself so I always make > a processing page that header("Location: ...")'s back to the original > page. > > if(the name is blank) > { > $errors = "e_name=Name cannot be blank&"; > } > > $location = "originalpage.php?$errors"; > > So then I redirect with the $location variable. > > But instead of passing it back through the querystring, what about > assigning the values to the $_SESSION array and simply checking for the > existence of those values on the original form?
I usually handle error's within session and go back with the location by the referer (or a hidden input var) and display the errors on the form. I usually designate a namespace for errors. For example: validate.php if(field isn't valid) { $_SESSION['errors'] = array('field', 'The field isnt valid'); } form.php: if (!empty($_SESSION['errors'])) { include('common_error_handler.php'); } common_error_handler.php: foreach ($_SESSION['errors'] as $field => $desc) { echo "$field: $desc<br>"; } unset($_SESSION['errors']); I do the same with messages (ie 'Data has been saved'). Cept I usually designate different html div tags with css classes, so the colors and stuff can be changed for error's vs. messages. > I think it will work fine (and even better than posting everything) but > I'm wondering if there's something I'm not considering that makes this > Not A Good Idea(tm)? There are some gotchas and isn't the most elegant way to handle errors, but It is much better than using a GET var to pass back errors to the form. Curt -- "My PHP key is worn out" PHP List stats since 1997: http://zirzow.dyndns.org/html/mlists/ -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php