Любые сайты, в том числе доски объявлений делаются так.
1) Все данные, объявления, пользователи и прочие хранятся в базе данных, например mysql, postgre sql и т.д.
2) Есть серверный язык программирования, php, python и т.д, самый популярный php.
Естественно, под каждое объявление, которых миллионы в доске, никто не создает отдельную страницу.
Программируется механизм, который выводит по заданному шаблону список объявлений со всеми списками страниц, фильтрами поиска и т.д.
Программируется механизм, который выводит по заданному шаблону страницу объявления детально.
Кратко работает примерно так. Определяется урл страницы, по урлу программный код на серверном языке определяет, это страница списка объявлений, или страница детального объявления.
Если это страница списка объявлений, то делается запрос к базе данных вывести список объявлений по таким-то условиям, затем серверный язык программирования выводит эти объявления в шаблоне списка объявлений.
Если это страница объявления детально, то делается запрос к базе данных получить конкретное объявление, выводится шаблон страницы объявления детально.
В чем здесь отличие от чистого html - на html создается отдельная новая страница,
а на серверном языке программируется механизм, который выводит множество однотипных страниц по шаблону.
Как в такой системе работает форма создания объявления? На сервере пишется программный код, который получает данные из формы, и добавляет в базу данных новое объявление, соответственно, оно выводится на сайте по уже запрограммированному механизму.