HTML
Go to your browser's main menu and click
View > View Source; that text you see is HTML. It's a computer language for creating web page layouts and modifying certain properties of text on a web page (e.g., size, color).
CSS
You'll also see CSS in that View Source document (whether you know it or not

). CSS is a computer language for how the things in the HTML layout will appear visually.
It may sound like these two overlap a bit, that's because they do. For example, HTML is for laying out your web page and CSS is for how things appear visually, but layout is visual as well. The reason we have both is so that we can define the barebones stuff in HTML and then make the look and layout much richer using CSS. Later, if we want to change the look, we just have to change the CSS without touching the HTML.
PHP
This is a programming language, and it's much more complex, but the idea is this: When you go to a website, the images and text that you see are pulled from a computer somewhere in the world. A program written in PHP sits on that remote computer where you got the web page and modifies the HTML in it before it sends it to you.
For example, notice when you go to this thread, you see new posts appearing. But you click the same link every time. This is because, when you click the link to get to this thread, the PHP program "builds" this web page based on all of the posts that have been submitted.
Web-Hosting
As I mentioned, web pages are sent to your computer from one of countless computers around the world. But these aren't just any computers, they are computers owned by companies that have purchased the ability to be a part of the Internet. Other smaller companies, in turn, purchase from them to also be on the Internet. And if you or I want to put a website on the Internet, we must purchase "web hosting" from one of these companies. Web hosting gives you the ability to store your website on one of those company computers, which allows other people around the world to access your website.
Domain Names
You didn't ask about this one, but it's so closely related to web hosting that it would be misleading to leave it out. A domain name is necessary if you want people to access your website as something like www. ________ .com
As for resources...there are literally tons and tons of em on the net. Google any of those terms using "What is _______" (e.g., What is CSS) and you'll get more sites than you will ever need.
Bookmarks