PHP генерирует HTML-код перед его передачей клиенту; после того, как клиент получил код, он отобразит его на веб-сайте.
Причина, по которой ваш код не работает, потому что при выполнении <?php echo $_POST['selItem']; ?>
не устанавливается POST-Variable selItem; устанавливается после отправки формы.
Если вы действительно хотите передать selItem как GET и как POST-переменную - возможный способ сделать это - использовать эту функцию (не проверено):
<script>
function onSelectChange() {
// Access the select-field and get it's value
var sel = document.getElementById("selItem");
var selectedValue = sel.options[sel.selectedIndex].value;
// Change the target URL of the form
document.getElementById("formType").action = 'Select-item.php?type='+ selectedValue;
formType.submit()
}
</script>
И отредактируйте onChange-Listener в своем выборе: onchange="onSelectChange"
НО Я бы порекомендовал вместо этого использовать GET - таким образом selItem также всегда будет в URL, и вам не нужно проверять $ _GET и $ _POST одновременно