Вероятно эти незаполненные поля обязательны в API Телеграма. Если это допустимо в API передавайте их в ваш код пустыми. Или измените код на этот:
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$args = filter_input_array(INPUT_POST, FILTER_SANITIZE_STRING);
if (!empty($args['name'])){
$arr = [
"Имя пославшего: "=>$args['name'],
"Тема: "=>!empty($args['theme']) ? $args['theme'] : '',
"Тема - 2: "=>!empty($args['theme2']) ? $args['theme2'] : '',
"Почта: "=>!empty($args['mail']) ? $args['mail'] : '',
"Скайп или вайбер: "=>!empty($args['sk_viber']) ? $args['sk_viber'] : '',
"Название проекта: "=>!empty($args['name_project']) ? $args['name_project'] : '',
"Ссылка на сайт: "=>!empty($args['link__site']) ? $args['link__site'] : '',
"Характеристика товара: "=>!empty($args['kharakter_tovar']) ? $args['kharakter_tovar'] : '',
"Кол-во комментариев: "=>!empty($args['kolvo_komponent']) ? $args['kolvo_komponent'] : '',
"География доноров: "=>!empty($args['geography_donor']) ? $args['geography_donor'] : '',
"Аудитория: "=>!empty($args['auditoriya']) ? $args['auditoriya'] : '',
"Сообщение: "=>!empty($args['msg']) ? $args['msg'] : '',
];
$token = "XXXXXXXXXXXXXXXXXXXXXXX";
$chat_id = "xxxxxxx";
$txt="";
foreach($arr as $key => $value) {
$txt .= "<b>".$key."</b> ".$value."%0A";
};
$sendToTelegram = fopen("https://api.telegram.org/bot{$token}/sendMessage?chat_id={$chat_id}&parse_mode=html&text={$txt}","r");
if ($sendToTelegram) {
echo '<p class="success">Спасибо за отправку вашего сообщения!</p>';
return true;
} else {
echo '<p class="fail"><b>Ошибка. Сообщение не отправлено!</b></p>';
}
} else {
echo '<p class="fail">Ошибка. Вы заполнили не все обязательные поля!</p>';
}
} else {
header ("Location: /");
}