【发布时间】:2015-07-02 07:50:14
【问题描述】:
我正在尝试在 PHP 中制作一个简单的验证码,只是为了学习,目前还没有将字符串转换为图像,我不知道我做错了什么?我什至无法验证代码,它给出的字符串每次都不匹配
这是代码
<?php
$var = 'abcdefghijklmnopqrstuywxyz1234567890';
$random = str_shuffle($var);
$captcha = substr($random,0,10);
echo $captcha;
if(isset($_POST['captcha'])){
$check = $_POST['captcha'];
if ($captcha==$check){
echo 'Verified.';
}else{echo 'string didn\'t match';}
}
?>
<form action="random.php" method="POST">
<input type="text" name="captcha"><br>
<input type="submit" value="Submit">
</form>
【问题讨论】:
-
有什么不工作吗?这是一个反问句吗?
-
呃,不想打扰你,但验证码的全部意义在于防止机器人发送垃圾邮件。这不会那样做。机器人会笑话你的。
-
验证码本质上应该是图形而不是文本!机器人可以轻松阅读文本。
-
"学习目的,现在不把字符串转换成图像"如果你想构建一些东西来学习就可以了。问题是您在检查 POST 数据是否正确时再次生成验证码。你应该怎么做,呸!稍后将在下面解释。
-
1 生成随机字符串。 2 显示它 3 用户填写表格并提交它 4 生成随机字符串 5 检查新的随机字符串与发布的值!在这里发现问题?