这是我在这里的第一篇文章,所以如果我以错误的方式做某事,请不要讨厌。我想为我的网站制作一个带有逻辑问题的验证码。我认为它比 reCaptcha 更好。无论如何,我用很多“谷歌搜索”做了一个花哨的代码,但它一定有一些错误,我也想知道,如何验证数据库中的答案。我的数据库如下所示:
身份证问题答案
1个例子?示例答案
我目前的代码是这样的:
<?php
$database_db="general";
$user_db="root";
$password_db="somepass";
$host_db="localhost";
$link=mysql_connect($host_db,$user_db,$password_db) or die ("couldnot connect: ".mysql_error());
mysql_select_db($database_db, $link) or exit('Error Selecting database: '.mysql_error()); ;
$query = "SELECT * FROM `captcha` ORDERED BY RAND() LIMIT 1";
$question=mysql_query($query);
$answer=$_POST["answer"];
$errormessage = "";
$sql="SELECT * FROM captcha where question='$question' and answer='$answer'";
$result = mysql_query($sql, $link) or exit('$sql failed: '.mysql_error());
$num_rows = mysql_num_rows($result);
if($num_rows==0){
header("Location: error.php");
} else {
header("Location: success.php");
exit;
}
?>
<html>
<body>
<form method="post">
<?php echo $question; ?>
<input type="text" name="answer" id="answer" />
<input type="submit" name="submit" value="submit" />
</form>
</body>
</html>
Success.php 是一个简单的文件,如果一切顺利,用户就会进入该文件,而 error.php 是一个包含以下代码的文件:
<?php echo "Captcha is not valid! Please try again"; ?>
另请注意您会更改哪些内容来优化此代码。如果它准备好了,我还有一个问题:如何在任何其他外部网站中实现它。
谢谢你的帮助,MLL