php 验证码 session不同步

2025-04-24 05:35:13
推荐回答(4个)
回答1:

你这个验证码的图片都是错的。。,先要有个好的验证码图片才能验证啊

yzm.php

//生成验证码图片
session_start();
Header("Content-type: image/gif");
srand((double)microtime()*1000000);
$im = imagecreate(50,25);//设置图片的宽与高
$black = ImageColorAllocate($im, 0,0,0);//设置背景颜色
$white = ImageColorAllocate($im, 255,255,255);//设置文字颜色
$gray = ImageColorAllocate($im, 200,200,200);//干扰颜色
imagefill($im,50,25,$gray);
while(($chk_num=rand()%10000)<1000);
$_SESSION["chk_num"] = $chk_num;

//将四位整数验证码绘入图片
imagestring($im, 15, 5, 1,$chk_num , $white);//5, 5, 1分别表示为字体大小,左边距,上边距
for($i=0;$i<100;$i++) //加入干扰象素
{
imagesetpixel($im, rand()%70 , rand()%30 , $gray);
}
ImagePNG($im);
ImageDestroy($im);

?>

yanzhengma.php


验证码判断



我要评价:








请输入验证码:

验证码,看不清楚?请点击刷新验证码




error_reporting(0);

session_start();

if (isset($_POST['dosubmit']))
{
if ($_POST['yzm'] == $_SESSION["chk_num"])
{
echo "
"."验证码正确";
}
else
{
echo "
"."验证码错误";
}

}
?>





这是个验证的实例,是好的,你可以看看

回答2:

缓存问题,每次获取a.php页面时都要传一个随机数过去,保证每次获取的a.php页面不是缓存后的。location.href="a.php?rand="+Math.random();

回答3:

你这验证码不好 ,不要用这个.直接是网站下个 jQ 的验证码吧

回答4:

$_SESSION["code"] = $str; 放到前面。