为PHP CAPTCHA元素创建重新加载按钮

时间:2015-01-22 10:51:09

标签: javascript php jquery html5 captcha

我正在尝试为我的表单创建一个Captcha接口,我需要一种方法来重新加载该特定元素,而不是整个页面。最好使用PHP,HTML5或JavaScript

以下是验证码图像的代码,它显示png图像并设置会话变量:

captcha.php

---

ob_start();
session_start();

// Define image
$img = imagecreatetruecolor(150, 75);

// Allocate colors
$cb = imagecolorallocate($img, 51, 204, 255);
$c1 = imagecolorallocate($img, 255, 255, 255);
$c2 = imagecolorallocate($img, 51, 51, 51);
$c3 = imagecolorallocate($img, 153, 153, 153);
$cl = imagecolorallocate($img, 204, 51, 255);

//Create CAPTCHA-code
$code = rand(10000, 99999);
$_SESSION['captcha'] = $code;

// Build image
imagefill($img, 0, 0, $cb);
imagettftext($img, rand(20, 25), ((rand(0, 1)*2-1)*(rand(5, 10))), rand(20, 50), rand(30, 45), $c1, '../resc/captcha.ttf', $code);
imagettftext($img, rand(20, 25), ((rand(0, 1)*2-1)*(rand(5, 10))), rand(20, 50), rand(30, 45), $c2, '../resc/captcha.ttf', $code);
imagettftext($img, rand(20, 25), ((rand(0, 1)*2-1)*(rand(5, 10))), rand(20, 50), rand(30, 45), $c3, '../resc/captcha.ttf', $code);

//Create .png
header('Content-type: image/png');
imagepng($img);
imagedestroy($img);

ob_end_flush();

这是常规<img src="captcha.php" />包含在页面中的。

我需要的是一种刷新此单<img />代码而无需刷新整个页面的方法,最好是使用按钮。

感谢您的帮助。我知道那里有类似的主题,但我找不到任何非特定情景且难以翻译的内容。

0 个答案:

没有答案