Вам надо переместиться из мира фантазий в реальность.
В мире фантазий у вас "всё заполнено". Но суровая реальность говорит об обратном.
Поэтому первым вашим действием должно быть принятие реальности.
А вторым - проверка своего безупречного кода.
Например.
Обычно эту бессмысленную фразу выводят примерно таким говнокодом:
if (empty($_POST['pole1']) || empty($_POST['pole2']) || empty($_POST['pole3'])) {
die("Заполните все поля");
}
Для того, чтобы разобраться с этой неразрешимой проблемой, вам понадобится немного логики.
Я уверен, вам вполне по силам сделать умозаключение вида, "Если этот код выводит ошибку, то как минимум одно из полей содержит пустое значение".
Сделав такой логический вывод, его следует проверить.
Например таким кодом:
var_dump($_POST['pole1'],$_POST['pole2'],$_POST['pole3']):
и посмотреть на его вывод.
А дальше уже разбираться, какое из полей пустое, и почему