like Buckeye said, check all of your connections, especially grounds. If that doesn't remedy the situation then get out your test light ans start tracing all your connections.
Some things it could be:
Bad starter
bad ignition switch
bad ground
bad battery cable
loose connection in a few different places
if you have ever had an alarm installed with a starter kill, that goes through a relay, could be a bad relay or connection there.
get out your wiring diagram and trace out the circuit, test at every wire junction and see if you can narrow down where the fault lies. (it is a pretty simple circuit so should be really easy to test)
edit- sorry I started this reply earlier, got sidetracked, and never hit send so it may seem out of sequence.