I've noticed that to learn programming, your best bet is to basically get as much experience under your belt as possible. In other words, start building basic websites and when you come across something you have no idea how to do, look it up (i.e. "hyperlink hover colors CSS" or "creating a variable Javascript" and have at.
I've tried places like w3schools, and their resources are great for starting out, but it's really hard to learn any scripting language without knowing what specifically you can use things for.