Да, логика проверки проверка здесь неправильная. isset здесь все равно нужен, но не для проверки, "передано ли значение" а как проверка, что скрипт вызван не напрямую, и внутри этого условия уже и должна идти вся обработка, в том числе и заполнения поля.
Другое дело, что на вопрос, вырванный из контекста, всегда сложно ответить. Кто его знает, что ты имеешь в виду? Вообще, передавать ли то или иное поле, зависит только от браузера. Что захочет - то и пошлет. Поэтому гарантировать тебе такое поведение никто не может. Поэтому желательно приводить вопрос более развернуто.
Другое дело, что на вопрос, вырванный из контекста, всегда сложно ответить. Кто его знает, что ты имеешь в виду? Вообще, передавать ли то или иное поле, зависит только от браузера. Что захочет - то и пошлет. Поэтому гарантировать тебе такое поведение никто не может. Поэтому желательно приводить вопрос более развернуто.