JQman, в вашем коде есть несколько вещей, которые затруднят решение проблем. Во-первых, не зная, как работает действительный процесс проверки. Это означает, что мы не можем видеть, что $ valid = $ captcha-> check ($ code); на самом деле Но если предположить, что ваш код на самом деле правильно установит ссылку на действительный код-код и что он вернет «ложь», если код, который вводит человек, не совпадает, вот несколько вещей, которые нужно проверить:
1- Когда я загружаю это в тестовую среду, я не могу получить форму для показа. Когда я удаляю все строки, я получаю полную форму, и появляется сообщение об ошибке. Попробуйте удалить строки small () и посмотрите, будет ли это работать. Если так, то с функцией small () что-то не так.
2 - Я заметил, что это работает на wufoo. Я не очень знаком с их службой, но я знаю об этом. Они могут что-то сделать, чтобы код остановился на предупреждениях / ошибках. При этом я замечаю, что если кто-то вводит неверный код, вы добавляете $ error_captcha следующим образом: $ error_captcha. = '
'; ... однако, $ error_captcha не установлен ранее в показанном вами коде. Это вызовет предупреждение в журнале. Вы можете рассмотреть возможность удаления. = И сделать его =.
Кроме этого, я не вижу ничего другого, что могло бы привести к изменению результатов, которые вы получаете в настоящее время.