我该把reCaptcha php放在我现有的表单上的什么地方?

我该把reCaptcha php放在我现有的表单上的什么地方?,php,forms,recaptcha,Php,Forms,Recaptcha,我试图在我现有的联系人表单中实现reCaptcha,但遇到了一个障碍,我注意到我在页面中使用了“精确”这个词来放置服务器端PHP代码 我用正确的公钥在表单中添加了所需的PHP,并将私钥添加到服务器端PHP 我在表单所在页面的顶部有表单的验证PHP 现有验证代码如下: <?php // Set email variables $email_to = 'myemailishere'; $email_subject = 'MY Enquiry TITLE IS HERE'; // Set r

我试图在我现有的联系人表单中实现reCaptcha,但遇到了一个障碍,我注意到我在页面中使用了“精确”这个词来放置服务器端PHP代码

我用正确的公钥在表单中添加了所需的PHP,并将私钥添加到服务器端PHP

我在表单所在页面的顶部有表单的验证PHP

现有验证代码如下:

<?php
 // Set email variables
$email_to = 'myemailishere';
$email_subject = 'MY Enquiry TITLE IS HERE';

// Set required fields
$required_fields = array('fullname','email','comment');

// set error messages
$error_messages = array(
    'fullname' => 'Please enter your Name.',
    'email' => 'Please enter a valid Email.',
    'comment' => 'Please enter a Message.'
);


// Set form status
$form_complete = FALSE;

// configure validation array
$validation = array();

// check form submittal
if(!empty($_POST)) {
    // Sanitise POST array
    foreach($_POST as $key => $value) $_POST[$key] = remove_email_injection(trim($value));

    // Loop into required fields and make sure they match our needs
    foreach($required_fields as $field) {       
        // the field has been submitted?
        if(!array_key_exists($field, $_POST)) array_push($validation, $field);

        // check there is information in the field?
        if($_POST[$field] == '') array_push($validation, $field);


        // validate the email address supplied
        if($field == 'email') if(!validate_email_address($_POST[$field])) array_push($validation, $field);
    }

    // basic validation result
    if(count($validation) == 0) {
        // Prepare our content string
        $email_content = 'New Website Comment: ' . "\n\n";

        // simple email content
        foreach($_POST as $key => $value) {
            if($key != 'submit') $email_content .= $key . ': ' . $value . "\n";
        }

        // if validation passed ok then send the email
        mail($email_to, $email_subject, $email_content);

        // Update form switch
        $form_complete = TRUE;
    }
}

function validate_email_address($email = FALSE) {
    return (preg_match('/^[^@\s]+@([-a-z0-9]+\.)+[a-z]{2,}$/i', $email))? TRUE : FALSE;
}

function remove_email_injection($field = FALSE) {
   return (str_ireplace(array("\r", "\n", "%0a", "%0d", "Content-Type:", "bcc:","to:","cc:"), '', $field));
}

?>
我的表格代码是:

<div id="mainform">
<?php if($form_complete === FALSE): ?>
<form autocomplete="off" action="index.php#contact" method="post" id="comments_form">
<div class="row">
<div class="label">Your full name</div><!---end label--->
<div class="input">
<input type="text" id="fullname" class="detail" name="fullname" value="<?php echo isset($_POST['fullname'])? $_POST['fullname'] : ''; ?>" /><?php if(in_array('fullname', $validation)): ?><span class="error"><?php echo $error_messages['fullname']; ?></span><?php endif; ?>
</div><!---end input--->
</div><!---end row--->

<div class="row">
<div class="label">Your email address</div><!---end label--->
<div class="input">
<input type="text" id="email" class="detail" name="email" value="<?php echo isset($_POST['email'])? $_POST['email'] : ''; ?>" /><?php if(in_array('email', $validation)): ?><span class="error"><?php echo $error_messages['email']; ?></span><?php endif; ?>
</div><!---end input--->
</div><!---end row--->

<div class="row">
<div class="label">Your number? (if you'd like a call)</div><!---end label--->
<div class="input">
<input type="text" id="telephone" class="detail" name="telephone" value="<?php echo isset($_POST['telephone'])? $_POST['telephone'] : ''; ?>" />
</div><!---end input--->
</div><!---end row--->

<div class="row">
<div class="label">Your message</div><!---end label--->
<div class="input">
<textarea id="comment" name="comment" class="mess"><?php echo isset($_POST['comment'])? $_POST['comment'] : ''; ?></textarea><?php if(in_array('comment', $validation)): ?><span class="error"><?php echo $error_messages['comment']; ?></span><?php endif; ?>
</div><!---end input--->
</div><!---end row--->

<div class="row">
<div class="label">Prove you're Human</div><!---end label--->
<?php
require_once('recaptchalib.php');
$publickey = "your_public_key"; // public key omitted for purpose of stackeroverflow
echo recaptcha_get_html($publickey);
?>
</div><!---end row--->

<div class="submit">
<input type="submit" id="submit" name="submit" value="SEND MESSAGE" />
</div><!---end submit--->
</form>

<?php else: ?>
<p>Thank you, we've received your message.</p>
<?php endif; ?>

</div><!---end mainform--->
那么…在将代码集成到我现有的验证php中时,我应该将此代码粘贴到哪里

<?php
  require_once('recaptchalib.php');
  $privatekey = "your_private_key";
  $resp = recaptcha_check_answer ($privatekey,
                                $_SERVER["REMOTE_ADDR"],
                                $_POST["recaptcha_challenge_field"],
                                $_POST["recaptcha_response_field"]);

  if (!$resp->is_valid) {
    // What happens when the CAPTCHA was entered incorrectly
    die ("The reCAPTCHA wasn't entered correctly. Go back and try it again." .
         "(reCAPTCHA said: " . $resp->error . ")");
  } else {
    // Your code here to handle a successful verification
  }
  ?>
希望这是有道理的,有人能帮上忙吗