在注册码的php页写了这样一些代码 imagePng($image);
$_SESSION['seccode'] = $code;//创建SESSION
if ($_GET['verif']) {
if ($_GET['verif']!=$_SESSION['seccode']) {
echo "验证码不正确";
}
}
imagedestroy($image);//销毁图像,释放内存想通过ajax 在注册页面显示用户验证码输入是否正确可总是不能显示 是怎么回事谢谢
$_SESSION['seccode'] = $code;//创建SESSION
if ($_GET['verif']) {
if ($_GET['verif']!=$_SESSION['seccode']) {
echo "验证码不正确";
}
}
imagedestroy($image);//销毁图像,释放内存想通过ajax 在注册页面显示用户验证码输入是否正确可总是不能显示 是怎么回事谢谢
解决方案 »
- curl 模拟登录 发现cookie下发的url总是变化
- 散分:请帮忙将此段代码转成PHP,急啊~~~
- linux下php的gd配置问题
- phpBoy 您好,可以给再我一个ajax+php实现根据选项显示内容的例子吗?
- ffmpeg 转换视频的问题,请指点
- 為什麼我的mysql在用localhost可以連接,而用自已ip不能連接
- 我的站点被DDOS攻击了,已经瘫痪了,这个家伙我已经换了一个IP了,还在被这个家伙攻击,DDOS,难道就没办法管了吗?
- 表单的ACTION可不可以设为某个函数?
- 如何在下一个页面使用下拉列表所有的值?50分求答案,在线等待!
- 您试图从目录中执行 CGI、ISAPI 或其他可执行程序,但该目录不允许执行程序????
- 求一个正则表达式
- 请教一个strip_tags问题
header("Content-type: image/png;charset=utf-8");
$_SESSION['seccode'] = "";
$width = 100;//图片长度
$height = 41;//图片高度
$len = 5;//验证码长度
$noise = true;//是否生成杂点
$noisenum = 100;//杂点数量
$bgcolor = "#ffffff";//背景色
$image = imagecreate($width,$height);//创建图像
$back = getcolor($bgcolor);
$font = 'arial.ttf';
$randColor = imagecolorallocate($image, mt_rand(100, 255), mt_rand(100, 255), mt_rand(0, 255));
imagefilledrectangle($image,0,0,$width,$height,$back);//为图像填充颜色
$code = random($len);//创建随机数 for ($i = 0; $i < 2; $i++) {
imagesetthickness ($image,mt_rand(1,10));
imageline ($image , mt_rand(7,85), mt_rand(7,35), mt_rand(25,95), mt_rand(15,40), $randColor );
}
for ($i = 0; $i < sizeof($code); $i++) {
$codecolor = imagecolorallocate($image, mt_rand(0, 255), mt_rand(0, 255), mt_rand(0, 255));
imagettftext($image, mt_rand(15,20), mt_rand(-10,10), 9+17*$i, mt_rand(25,30), $codecolor,$font, $code[$i]);
}
$code=$code[0].$code[1].$code[2].$code[3].$code[4]; if($noise == true) setnoise();//创建杂点
imagePng($image);
$_SESSION['seccode'] = $code;//创建SESSION
if ($_GET['verif']) {
if ($_GET['verif']!=$_SESSION['seccode']) {
echo "验证码不正确";
}
}
imagedestroy($image);//销毁图像,释放内存
//字体颜色
function getcolor($color)
{
global $image;
$color = preg_replace ("/^#/","",$color);
$r = $color[0].$color[1];
$r = hexdec ($r);
$b = $color[2].$color[3];
$b = hexdec ($b);
$g = $color[4].$color[5];
$g = hexdec ($g);
$color = imagecolorallocate ($image, $r, $b, $g);
return $color;
}
function random($length) {
$str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz';
for($i = 0; $i < $length; $i++) {
$hash[$i]= $str[mt_rand(0,61)];
}
return $hash;
}
function setnoise()
{
global $image, $width, $height, $back, $noisenum;
for ($i=0; $i<$noisenum; $i++){
$randColor = imagecolorallocate($image, rand(0, 255), rand(0, 255), rand(0, 255));
imagesetpixel($image, rand(0, $width), rand(0, $height), $randColor);
}
}
?>
<body>
...
<script type='text/javascript' src='jquery1.6.2.js'></script>
<script type='text/javascript'>
var ses=document.form[0].getElementsByName('verif').value
$(document).ready(function(){
$("input[@name=verif]").blur(function(){
$("div[@name=session]").load('verification.php',{session:ses});
});
});
</script>
</body>
</html>我的ajax 用的是jquery 大体意思就是
将用户的验证码送到 验证码页面 然后将返回的内容显示在页面上某个div中 可总是实现不了 验证码页面上的 用户输入的验证码和$_SESSION()的比较 对么
imagePng($image);
$_SESSION['seccode'] = $code;//创建SESSION
if ($_GET['verif']) {
if ($_GET['verif']!=$_SESSION['seccode']) {
echo "验证码不正确";
}
}
imagedestroy($image);//销毁图像,释放内存
这些代码放的位置 对不对