Html, as pointed out, only parses (shows) a page on the client side.
Both asp and php are (again as pointed out) server side scripts.
This means that, as you access the page, it can access information to/from the server, without imposing any further processing onto your client-side processor (your pc). This is referred to as a dynamic website.
As far as I know, asp language goes hand in hand with SQL Server databases and yes, you will need to shell out on MS SQL technology!
php is open-source (free) and runs with MySQL Servers (again.. free). A common terms is LAMP, which stands for Linux (the platform) Apache (The program which parses the data) MySQL (The database) and PHP.
php continues to be a widely used language and is easy to follow - running alongside html.
<?php echo "Good luck!";?>