我正在尝试为我的表单创建一个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 />
代码而无需刷新整个页面的方法,最好是使用按钮。
感谢您的帮助。我知道那里有类似的主题,但我找不到任何非特定情景且难以翻译的内容。