I've found that, for when I've forgotten something, Tizag.com to be pretty useful, a simple tutorial -though it is simple, so I don't know how useful it might be to you- is here, at: http://www.tizag.com/phpT/examples/formex.php, which provides a walk-through with some explanation of the choices made.
Javascript libraries,
- jQuery.
- mootools.
- Glow (from the BBC, open source and very backwards-compatible).
Edited in response to comment
More reliable php references to help you get started:
- Getting started (php.net)
- forms tutorial (as above, at php.net)
The problem I'm finding with php/forms tutorials (outside of books) is that there's some crazy mis-use of -to my mind, ymmv, etc...- xhtml tags inside of forms, completely disregarding the concept of -mentioned elsewhere- semantic (x)html. I think that when reading the tutorials the key is to maintain a critical mind and try to be alert to the ab-, or mis-, uses:
<form action="this_page.php" method="post" enctype="form/multipart">
<p>This is a label <input value="this is the input" /></p>
<p><input type="submit" value="submit" /></p>
</form>
may be valid, but to my mind it's hideously wrong1. I'm amazed that there aren't more easily available and up-to-date resources.
1: To my mind it should be something closer to:
<form action="this_page.php" method="post" enctype="form/multipart">
<fieldset> // to associate relevant groups of label/input pairs
<label>This is a label</label> <input value="this is the input" />
</fieldset>
<fieldset>
<input type="submit" value="submit" />
</fieldset>
</form>