1. Ошибки взаимодействия с сервером надо смотреть не в консольке, а
во вкладке Сеть. Там в подвкладке Response или как она там в переводе называется, вы увидите
ответ сервера.
2. Как правильно написал в комментариях
ProjectSoft, проблема в том, что вы определяете переменные только при успешном прохождении проверки. Но если данных нет, то ни переменной $name, ни $phone, ни $message в коде не существует. И в итоге РНР вам законно выводит ошибку при попытке обратиться к этим переменным.
По итогам проверки переменная должна быть объявлена в любом случае. Это можно сделать либо с помощью конструкции else, либо как показано в примере
ProjectSoft, с помощью тернарного оператора.
Переменную $OK можно определить как результат логического выражения, без всяких условий
$OK = $name and $phon and $message;
Но сама по себе она не имеет смысла. У вас результатом кода
$name and $phon and $message
УЖЕ является логическое выражение, которое вы УЖЕ можете подставить в условие. И зачем это делать с пересадкой - непонятно.
3. При этом надо понимать, что и isset, и empty в данном случае это
подавление ошибок. И без нужды их лучше не применять. А просто написать
$name = $_POST['name'];
$phone = $_POST['phone'];
$message = $_POST['message'];
Тогда РНР сможет сообщить и об ошибках при составлении формы.
Но чтобы эти ошибки зря не лезли при запросе файла, лучше весь код целиком заключить в проверку типа
if ($_SERVER['REQUEST_METHOD'] === 'POST')
Как вариант - проверять каждую переменную на существование и пустоту отдельно, и выдавать соответствующие ошибки, типа "Поле name не отправлено", "Поле name не заполнено", и т.д.