Hello everyone, Thanks for your suggestions. For my variable in the value area of the text input field I enter value="<?php echo $name"; ?> Prior to this I assign the variable $name to: $name = stripslashes($_POST['name']); I hope this is correct. Sticky forms sounds exactly what i'm looking for. I've changed my action attribute to <?php echo $_SERVER['PHP_SELF']; ?> The first thing I do once the page is loaded is check whether or not submit is set, if it is not I display the form, which is in a function call. If submit is set I want to begtin validation, so i'm deciding to merge my two files in to one, I like this better. My question is say for example the name text field is not filled out but all the other required fields are how do I get the form to redisplay itself? I was thinking a location redirect, but this doesn't sound right. Thanks. Dave. On 7/4/10, Paul M Foster <paulf@xxxxxxxxxxxxxxxxx> wrote: > On Sun, Jul 04, 2010 at 01:57:01PM -0400, David Mehler wrote: > >> Hello, >> I've got a form with several required fields of different types. I >> want to have the php script process it only when all the required >> fields are present, and to redisplay the form with filled in values on >> failure so the user won't have to fill out the whole thing again. >> One of my required fields is a text input field called name. If it's >> not filled out the form displayed will show this: >> >> <input type="text" name="name" id="name" size="50" value="<?php >> echo($name); ?>" /> <br /> >> >> Note, I've got $_POST* variable processing before this so am assigning >> that processing to short variables. >> If that field is filled out, but another required one is not that form >> field will fill in the value entered for the name field. >> This is working for my text input fields, but not for either select >> boxes or textareas. Here's the textarea also a required field: >> >> <textarea name="description" id="description" cols="50" rows="10" >> value="<?php echo($description); ?>"></textarea> > > Textarea fields don't work this way. To display the prior value, you > have to do this: > > <textarea name="description><?php echo $description; ?></textarea> > >> >> What this does, if a user fills out this field, but misses another, it >> should echo the value of what was originally submitted. It is not >> doing this. Same for my select boxes, here's one: >> >> <select name="type" id="type" value="<?php echo($type); ?>"> >> <option value="0" selected="selected">-- select type --</option> >> <option value="meeting"> - Meeting - </option> >> <option value="event"> - Event - </option> >> </select> > > The "value" attribute of a select field won't do this for you. You have > to actually set up each option with an either/or choice, like this: > > <option value="0" <?php if ($type == 'meeting') echo 'selected="selected"'; > ?>> - Meeting - </option> > > Since doing this is pretty tedious, I use a function here instead: > > function set_selected($fieldname, $value) > { > if ($_POST[$fieldname] == $value) > echo 'selected="selected"'; > } > > And then > > <option value="meeting" <?php set_selected('type', 'meeting'); > ?>>Meeting</option> > > HTH, > > Paul > > -- > Paul M. Foster > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php