一个验证码程序,下面的程序运行起来总是说图像因其本身原因无法显示,如果去掉$identifyingCode .= $authnum;图像就能显示出来了,为啥呢?还有,imagefill我看他加不加都没啥影响啊,是不是没啥用啊?
session_start();
//生成验证码图片$im = imagecreate(50,18);
$back = ImageColorAllocate($im, 245,245,245);
imagefill($im,0,0,$back); 
for($i=0;$i<4;$i++){
$fontColor = ImageColorAllocate($im, rand(100,255),rand(0,100),rand(100,255));
$authnum=chr(mt_rand(48,57));

imagestring($im, mt_rand(1, 5), 2+$i*10, 1, $authnum, $fontColor);
$identifyingCode .= $authnum;
}

解决方案 »

  1.   

    $identifyingCode 是什么,在哪定义的?
      

  2.   

    验证码,要存到session里面的
      

  3.   

    生成验证码之前先初始化$identifyingCode $identifyingCode ='';
    header("content-type:image/gif");
    session_start();
    $identifyingCode ='';
    //生成验证码图片$im = imagecreate(50,18);
    $back = ImageColorAllocate($im, 245,245,245);
    imagefill($im,0,0,$back);  
    for($i=0;$i<4;$i++){
    $fontColor = ImageColorAllocate($im, rand(100,255),rand(0,100),rand(100,255));
    $authnum=chr(mt_rand(48,57));imagestring($im, mt_rand(1, 5), 2+$i*10, 1, $authnum, $fontColor);
    $identifyingCode .= $authnum;
    }
    $_session['code']=$identifyingCode;//你的代码中也没有把验证码加入session