My advice to you would be this. Often, we want to be able to know how to go about doing things the "right", the "correct" or the "best" way. I am guilty of this as well. In webdesign and in design in general, there are a lot of different ways to get the same outcome. In order for you to understand these different methods and which method will fit you, you can read articles, tutorials, books, watch videos, etc. However the MOST important thing is that you experiment, make mistakes, and immerse yourself in what your doing. This is especially important with programming (html, php, css or whatever floats your boat.) because you find might that there are a lot of nuances and hiccups that you won't understand without adequate experience.
Create a little sandbox where you can make files, test little snippets of code, and dissect different things. Try not to do things you already know (for me this is how I get stuck), constantly challenge yourself and try to learn things that you don't understand. Bookmark (or you can blog) tutorials, and other resources that look interesting but you might not have the time to read now.
I personally think that it's good to think in blocks too! For example if you know that you're going to make a commerce site. It's good to think about the design aspect, then the slicing/html/css aspect, then the backend php or asp that will drive the site, but be aware that they all relate to each other. If you don't think about the backend, the content, or the type of your site, your design might not be appropriate. Or if you slice the design a particular way, when adding content you might find that it's too hard to add content as you didn't make your design flexible. All this comes with experience, don't get frustrated if you can't figure out what to do next. Take a step back and compartmentalize your problem. Taking baby steps, and tackling a problem one step at a time makes things more manageable.
My general workflow goes something like this
Concept - what type of site?, how much content?, what main pages might be needed?, will there be a forum?, user login?, does the owner need a cms? would the content look better on a wide layout or centered? what type of layout would make the site more functional. colors etc etc. Basically this step is just getting an idea of what the site is all about so you can come up with a fitting design.
Design - I take all of the ideas I thought about in the concept stage and start designing! Sometimes I sketch my ideas out because I'm not quite sure what I want the site to look like. Sometimes I had a great idea in my head and jump straight to photoshop. I don't stop until I am completely happy. I generally follow this quote:
“Perfection is achieved perfection not when there is nothing left to add, but when there is nothing left to take away” – Antoine de Saint-Exupery
Slicing - Basically the html and css portion of the site. You can find a lot of tutorials on this.
Backend/Database - You can add PHP or ASP or another language to make the site more functional. Incorporating a forum a login system, user comments, a cms (although I've seen XML cms's as well), or a database to store information.
Sometimes steps 3 & 4 kinda get mushed together, because as I'm coding the PHP I see something in the css that doesn't work or needs to be added, changed, or deleted. Or sometimes I'll need to add some javascript in.
Other people have their own workflow, and you will develop yours as well. With experience, you will think about the process less, and it will become more intuitive.
Hope this helps! Good Luck! :)
PS: Asking questions is important too!