How do I add a contact form to my site?
Static sites/simple HTML & CSS sites are a great place to start building up those key coding and design skills you'll use all the time as you take on more advanced projects. But when you want to create something more dynamic (a comments section, a page to sell a product, or a simple contact form), it can be problematic.*
Typically when people want these more dynamic elements, they look at moving up to a CMS (content management system) like WordPress. This also allows you to build some security around your forms, so they aren't abused.
If you are interested in learning about WordPress, we have a WordPress specialization course! WordPress is a PHP web application (it is written using the PHP web programming language, and also utilizes HTML, CSS, and JavaScript). And WordPress has a number of plugins that allow you to easily set up simple or complex forms, like contact forms.
Being able to design a contact form is a good skill to have (since even the WordPress forms might need design tweaks), but it is easiest to start your 101: HTML & CSS and/or Phase 1 milestone project by having a "Contact Me" link (created with an anchor tag - you can always style it to look like a button) that allows a visitor to simply send an email to you.
If you really want to have a contact form in your static site right now, you can look at services like Formspree, Pageclip, FormKeep, Basin, Formcarry, etc. that can integrate with your site, or possibly embed or link to a Google Form that can be submitted to you. You could also look at CRM (Customer Relationship Management) platforms like Honeybook or Dubsado that give you forms you can embed.
*If you'd like to learn more about how form data is sent and can be retrieved, you can check out this article.