digitalRead always returns HIGH or provides random output at no voltage

Have a read of this
http://www.thebox.myzen.co.uk/Tutorial/Inputs.html