Я подозреваю, что при первом посещении этой страницы в URL нет параметра действия. Если это так, то isset () будет ложным. Кроме того, вы, вероятно, хотите! =, А не! ... == ....
Я не тестировал этот код, но вот с чего бы начать:
<?php if (!isset($_GET['action']) || ($_GET['action'] != 'reply')) { ?>
<div class="actions">
<input type="button" onclick="javascript: document.location='?threadID=<?=$threadID?>&action=reply';" value="Post reply" class="btn" />
</div>
<?php } ?>
Мне также немного удобнее читать этот формат:
<?php if (!isset($_GET['action']) || ($_GET['action'] != 'reply')): ?>
<div class="actions">
<input type="button" onclick="javascript: document.location='?threadID=<?=$threadID?>&action=reply';" value="Post reply" class="btn" />
</div>
<?php endif; ?>