我已经在我的表单中实现了验证码,但它似乎没有验证。我在下面列出了代码,看看我的布局中是否有任何明显的内容以及如何修改它。该帖子已删除公钥和私钥。
感谢。
<h1>Contact</h1>
<form action="index.php" method="post">
<input type="hidden" name="required_fields" value="name, email, message" />
<input type="hidden" name="email_fields" value="email" />
<input type="hidden" name="html_template" value="form.tpl.html" />
<input type="hidden" name="mail_template" value="mail.tpl.txt" />
<input type="hidden" name="thanks" value="/thanks.php" />
<!-- <input type="hidden" name="error_page" value="./docu/error.html" /> -->
<table border="0" cellpadding="3" cellspacing="0">
<tr>
<td><p>Full Name <span>*</span></p></td>
<td> </td>
<td><input type="text" name="name" value="" size="40" /></td>
</tr>
<tr valign="bottom">
<td><p>Phone</p></td>
<td> </td>
<td><input type="text" name="phone" value="" size="40" />
</td>
</tr>
<tr valign="bottom">
<td><p>Email <span>*</span></p></td>
<td> </td>
<td><input type="text" name="email" value="" size="40" />
</td>
</tr>
<tr valign="top">
<td><p>Message <span>*</span></p></td>
<td> </td>
<td><textarea name="message" cols="30" rows="10"></textarea></td>
</tr>
<tr valign="top">
<td> </td>
<td> </td>
<td><p>
<?php
require_once('recaptchalib.php');
// Get a key from http://recaptcha.net/api/getkey
$publickey = "";
$privatekey = "";
# the response from reCAPTCHA
$resp = null;
# the error code from reCAPTCHA, if any
$error = null;
# was there a reCAPTCHA response?
if ($_POST["recaptcha_response_field"]) {
$resp = recaptcha_check_answer ($privatekey,
$_SERVER["REMOTE_ADDR"],
$_POST["recaptcha_challenge_field"],
$_POST["recaptcha_response_field"]);
if ($resp->is_valid) {
echo "You got it!";
} else {
# set the error code so that we can display it
$error = $resp->error;
}
}
echo recaptcha_get_html($publickey, $error);
?>
<input type="submit" name="send" value="Send" />
<br />
<span>*</span> = required field.</p></td>
</tr>
</table>
</form>
答案 0 :(得分:1)
我不能说你的验证码有什么问题,因为我不知道这个验证码实现的具体细节。
您的表单已重置,因为您未填写已发布数据的字段。也许你不打算。
首先确保您的表单在没有验证码的情况下按预期工作,以确保问题出现在验证码中。