Каждый раз запуская скрипт у Вас $counter = 0, с чего бы ему возвращать что-то, кроме 1?
Вам видимо надо сохранять его где-то и читать при запуске скрипта.
$counter = //получаем из базы значение;
if (isset($_POST['test'])) {
$counter++;
echo $counter;
}