Как правильно отправлять форму на эту же страницу?
Если надо на этой же странице обработать форму можно сделать так: <form action="" method="POST">
Но видел примеры где в action="" засовывают какую-то переменную глобальную, точно не вспомню, из $_SERVER вроде.
Зачем, в чём смысл, как правильно?
$_SERVER['PHP_SELF'] прописывают. Но не могу сказать, что это лучшее решение. Но на вашем этапе должно хватить.
Смысл в том, что пустой action - не валидно. И у разных браузеров может быть разное поведение. Кто-то на эту же страницу переведет, а кто-то - на index...
Поэтому лучше избегать таких двусмысленностей
Ставь ссылку на этот же документ, а в коде делай проверку нажата ли кнопка if{ isset $post submit (пишу с телефона так что как-то так)} else{ показ формы}