Как правильно выше написали, лучше всегда делать проверку всех используемых переменных из $_POST.
if (empty($_POST['var'])) {
return 'error, field var not filled';
}
empty(mixed $var)
эквивалент конструкции
if(!isset($var) || $var == false)
Даже если поле не обязательно к заполнению - делайте проверки на существование и объявляйте пустую строку если поле пустое или вообще не пришло с фронтенда:
if (empty($_POST['var1'])) {
$_POST['var1'] = '';
}
...
$text.= $_POST['var1'];
...
Ну и делайте дополнительно валидацию формы на фронтенде js'ом (это не снимает необходимость проверок на бекенде!!!)