我在PHP中创建了自己的验证码,只是为了学习。没关系,按我的意愿工作。我试图添加一个“刷新图像”按钮,但我不知道该怎么做。
表单代码:
<p><img src="img.php" alt="Captcha!" /></p>
img.php代码:
<?php
require_once 'captcha.class.php';
$captcha = Captcha::instance(10);
echo $captcha;
?>
__ toString方法:
public function __toString()
{
ob_start();
header('Content-Type: image/jpeg');
imagejpeg($this->drawImage(), null, 100);
return ob_get_flush();
}
这些代码将输出验证码。我怎么能刷新这个图像? AJAX中的东西会很棒! 谢谢。
答案 0 :(得分:0)
您是否可以重新加载对创建新验证码的页面进行AJAX调用,将新创建的结果返回到DIV中?
答案 1 :(得分:0)
<html>
<head>
<script type="text/javascript">
function reload()
{
var img = new Image();
img.src = 'img.php';
var x = document.getElementById('captcha');
x.src = img.src;
}
</script>
</head>
<body>
<a href="javascript: reload()" >Reload</a>
<img src="img.php" alt="Captcha!" id="captcha" />
</body>
</html>
也许一个简单的x.src = 'img.php'
可以做到这一点,但只是为了得到一个新的请求,我已经使用另一个图像(它还为你提供了更多的搜索/学习)。
答案 2 :(得分:0)
表单完成后,如何检查验证码是否正确?会话变量?
如果它是单个会话变量,您可以使用普通的javascript刷新图像。将随机查询字符串添加到图像URL的末尾将避免任何缓存问题。