php作业跪求 20
2个回答
2015-06-25
展开全部
验证码一般都是在服务器随机产生,在html页面用ajax获取验证码来和用户输入的验证码进行比较
<script type="text/javascript">
var xmlHttp;
function createXMLHttpRequest()
{
if(window.ActiveXObject)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest)
{
xmlHttp=new XMLHttpRequest();
}
}
function doit()
{
createXMLHttpRequest();
xmlHttp.onreadystatechange=handleStateChange;
xmlHttp.open("get","auth_code.php",true);
xmlHttp.send(null);
}
function handleStateChange()
{
if(xmlHttp.readyState==4)
{
if(xmlHttp.status==200 || xmlHttp.status==0)
{
checkAuthCodeInput(xmlHttp.responseText);
}
}
}
function checkAuthCodeInput(authcode)
{
if(document.getElementById("自定义").value==auth)
{
return true;
}
return false;
}
</script>
<img src="auth_code.php" id="img_auth_code"/>
<a href="document.getElementById('img_auth_code').src='auth_code.php?code='+Math.random();">看不清,再换一张</a>
//该页面用于随机获取验证码rand_auth_code.php
<?php
function get_auth_code()
{
for($i=0;$i<5;$i++)
{
$_GLOBALS['rand_str'].=strtoupper(dechex(rand(0,15)));
rand_str_width+=imagefontwidth($i);
}
}
echo $_GLOBALS['rand_str'];
?>
<?php
include_once("rand_auth_code.php");//导入产生验证码的页面
$img_width=100;
$img_height=25;
$img=imagecreatetruecolor($img_width,$img_height);
$img_bg_color=imagecolorallocate($img,0,0,0);
imagefill($img,0,0,$img_bg_color);
$img_font_color=imagecolorallocate($img,225,225,225);
get_auth_code();//调用方法,产生随机验证码
$img_font_x=$img_width/2 - $rand_str_width/2;
$img_font_y=($img_height-imagefontwidth(5))/2;
imagestring($img,5,$img_font_x,$img_font_y,$_GLOBALS[rand_str],$img_font_color);
header("Content-Type:image/jpeg");
imagejpeg($img);
imagedestroy($img);
unset($_GLOBALS['rand_str']);
?>
不知是否符合你的要求
rand_str_width+=imagefontwidth($i);前面变量少个美元符号,
把这句话给删了
$img_font_x=$img_width/2 - $rand_str_width/2;
$img_font_y=($img_height-imagefontwidth(5))/2;这两句也删了
imagestring($img,5,$img_font_x,$img_font_y,$_GLOBALS[rand_str],$img_font_color);
这句话里的$img_font_x,$img_font_y你自己随意定一个数字先看看效果
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询