WAMP (and a popular alternative,
XAMPP) are simply all-in-one packages that make installing the programs for a "development web server" easier. They include Apache (a web server), MySQL (the database), the PHP Apache module (required for running PHP pages), and some other less important things depending on which package you get. While you can simply open an HTML file in Windows and have it open just fine in the browser, you can't do that with PHP. If you try to just open a PHP file, you will see the code. PHP must be executed in a "PHP engine". And most of the PHP development you will do is designed to be sent from a web server, so the PHP engine you want must be attached to a web server. Thus, you have to download and install a development web server on your computer to develop with PHP. That is where the Apache web server and PHP module come in. Setting up and configuring all these tools for development (instead of production) on their own is quite complicated, so some generous souls decided to make these packages that makes it a snap. You basically just have to download and install one or the other, click its icon to start it, and then start the services (at least Apache and MySQL). Simple as that
Typically before starting on the web page code, you would want to create the database, because the structure of the database will drive how you write your PHP. When you start out with PHP, you will likely be writing a lot of your PHP and HTML at the same time. As you get the basics, there are more advanced frameworks that most people eventually move to, but don't worry about those for now. You would need to have your HTML (and PHP) done before you can start writing CSS to style the page, because CSS hooks-into the HTML to style it. And then if you begin to write any Javascript code (which all runs in the browser) that is typically done last. But everyone has their own ways of doing it lol. You will come up with your own workflow, but what I have outlined here is a common one and a good one for beginners.
Your pages are connected together by
hyperlinks. If you click on the word "hyperlink" in the last sentence, a hyperlink will take you to an info page that gives details about hyperlinks lol. That will come with learning HTML, which you would need to do before really digging into any PHP tutorial. You don't have to memorize it all. I still routinely have to look up certain HTML attributes, reminders on how to set up SELECT form elements, etc. The important thing is that you learn the basics of it, and get some exposure to the slightly more complex parts so that you will know what you are looking for when you need to look up an example online.
When you are ready to make your website public, you would get a web host. There are options to host it yourself, but most people don't have a fast enough Internet connection or a static IP to make that a wise choice. There are several different levels of web hosts. The most basic is shared hosting, where you share a server that the web host owns with several other websites. This is a fine choice for a site that is a mix of static (HTML only) and dynamic (PHP) pages. You can get shared hosts free pretty easily provided that you are OK with them putting an ad or two on your pages. The next level would probably be a VPS, or "Virtual Private Server". This is where the host has "virtualized" the server so that it is like they have given you the whole server, even though you still only have part. They assign you a certain amount of RAM, storage, bandwidth, etc. On a shared host you are not guaranteed any of the server resources (they just guarantee your site will function provided you are mindful of system resource usage), so this is a step up. There are a few VPS out there you can get for free, but you are likely looking at quite a few restrictions. The next step up would likely be a dedicated server. This is where you have the whole server and all of its resources. Obviously there is no way to get these for free, but your average site does not require a dedicated server. This would be for larger games and extremely busy websites. The steps above this are really more special cases that you would have to negotiate with a host for, because they involve using several dedicated servers all working together. These would be for
extremely popular websites that are getting possibly thousands of hits a second. It is really a dream to get to that level where you need a server cluster.
It will be a while before you are ready to get a web host, so we will help you out with that when you get there
