Это $(form).ajaxSubmit(...) асинхронный запрос сервера, отправляющий форму без перезагрузки страницы.
Код самой формы может быть на странице размещен сразу, при ее вызове, или же тоже подгружаться динамически, асинхронно.
В любом случае загрузки формы, код проверяющий каптчу при выводе формы if(count($_POST)>0), это глупость.
1) форма на странице и отправляется асинхронно серверу
2) сервер может проверяет количество разрешенных запросов (отправки формы, то есть ввод кода каптчи), но конечно не такой глупостью как count($_POST)>0
3) проверяется код каптчи хранящийся в сессии с кодом отправленным формой, здесь два развития событий:
а) код верный - данные формой принимаются, это может быть их сохранение, проверка и разрешение входа и т.д., и т.п. Из сессии удаляется код каптчи, пользователю отдается "Оk" и он перенаправляется или иное по сценарию. Но это в том случае, если и проверка данных из формы проходит проверку, иначе не зависимо от верности ввода каптчи, возврат ошибок клиенту и обновление каптчи;
б) код каптчи неверный - сообщаем об этом клиенту, данные формы не проверяются, уменьшается число попыток ввода каптчи, если таколй контрль есть.
Чего вы вытворяете у себя даже представить невозможно.
|