我正在为我的表单使用capcha,我希望在页面首次加载时将其显示给用户,使用php函数随机生成capcha,是否可以使用jquery load调用该函数并显示它给用户。非常感激任何的帮助。
的index.php
<input type="text" id="capcha" size ="25" placeholder="capcha" />
<span id="random_capcha" src="validate.php" ></span></br></br>
validate.php
<?php
session_start();
include 'display.php';
$first = first();
$second = second(); //returns omg lol;
$_SESSION["captcha_code"] = $captcha_code; $first.' '.' '.' '.$second;
?>
Display.php的
<?php
function first(){ //function parameters, two variables.
$min_number = 1;
$max_number = 15;
$random_number1 = mt_rand($min_number, $max_number);
return $random_number1;
}
function second() {
$min_number = 1;
$max_number = 15;
$random_number2 = mt_rand($min_number, $max_number);
return $random_number2;
}
?>
答案 0 :(得分:1)
您可以使用AJAX从服务器调用内容并替换为文档元素。
$.ajax({
url: "/captcha.php",
context: document.body
}).done(function(data){$("#random_captcha").html(data);});
要验证,您还可以使用AJAX检查答案。
有关$ .ajax()。
的JQuery API文档的更多详细信息 建议:您可以使用图像验证码进行验证。 php_gd&#39;的用途函数在PHP.net上有很好的文档和示例。您使用imagestring
功能打印文本。有关https://secure.php.net/manual/en/function.imagecreatetruecolor.php的更多详情。我认为它对机器人最有效。
答案 1 :(得分:0)
您可以将ajax request发送到服务器并将结果插入目标范围。
客户端javascript:
$.get("captcha.php", function(data) {
//data is your captcha code retrieved from server
$('#random_captcha').html(data);//insert captcha to target container
});
captcha.php
<?php
//...generating captcha
echo $captcha_code;