Your recaptcha code needs to be above the validation code and you have to validate the returned value from the recaptcha... and the trigger should be the same as the validation. You have the recaptcha code repeated twice (remove one) and you have it below the server validation and never validate the $recaptchaScore value returned.