It depends. It is never wrong to use them, but you don’t have to if the attribute value consists only of letters, digits, periods and/or hyphens. This is explained in the HTML 2.0 specs.
Oh, and keep in mind that if you use double quotes, you should escape any quotes inside the value with “”" so you don’t accidentally terminate the value prematurely.
Tags are case insensitive, so it doesn’t matter. This is just a matter of style. Many people prefer upper case, as it makes the tags “stand out” better amongst the text
Most likely you forgot to close a quote at the end of an HREF or SRC. Alternatively, perhaps you used a “>” character in an ALT text or somewhere else inside a tag. Although this is legal, several older browsers will think the tag ends there, so the rest is displayed as normal text.
This especially happens if you use comment tags to “comment out” text with HTML tags. Although the correct syntax is <!– –> (without “–” occurring anywhere inside the comment), some browsers will think the comment ends at the first > they see.
This is done with a small form:
<FORM ACTION=”http://url.you.want.to.go.to/” METHOD=GET>
<INPUT TYPE=submit VALUE=”Text on button” NAME=foo>
If you want to line up buttons next to each other, you will have to put them in a one-row table, with each button in a separate cell.