验证码

验证码

图形验证码能在IE及其他浏览器中正常,在火狐中却无法显示,为什么?
龙战新野惊宵小
虎啸山林慑群兽

发代码看看啊
如履薄冰

login.php
........................................................
                <tr>
                        <td align="right" height="30">验证码:</td>
                        <td width="150" align="left">
                                <input name="yzm" type="text" class="short_txt"/>
                                <input name="yzm2" type="hidden"/>
                                <script language="javascript">yzm(login)</script>
                  </td>
                        <td align="center">
                                <a onClick="javascript:code(login)" style="cursor:hand">换一张</a>
                        </td>
                </tr>
......................................................................

js文件:
function yzm(form){
        var num1=Math.round(Math.random()*10000000);
        var num=num1.toString().substr(0,5);
        document.write("<img name=codeimg width=60 heigh=20 src='yzm.php?num="+num+"'>");
        form.yzm2.value=num;
}
//刷新验证码
function code(form){
        var num1=Math.round(Math.random()*10000000);
        var num=num1.toString().substr(0,5);
        document.codeimg.src="yzm.php?num="+num;
        form.yzm2.value=num;
}

yzm.php :
<?php
srand((double)microtime()*1000000);
$im=imagecreate(60,18);
$black=imagecolorallocate($im,0,0,0);
$white=imagecolorallocate($im,255,255,255);
$gray=imagecolorallocate($im,200,200,200);
imagefill($im,0,0,$gray);

for($i=0;$i<5;$i++){
$str=mt_rand(3,5);
$size=mt_rand(4,7);
$authnum=substr($_GET[num],$i,1);
imagestring($im,$size,(2+$i*10),$str,$authnum,imagecolorallocate($im,rand(0,130),rand(0,130),rand(0,130)));
}
for($i=0;$i<200;$i++){
  $randcolor=imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255));
  imagesetpixel($im,rand()%70,rand()%30,$randcolor);
}
imagepng($im);
imagedestroy($im);
?>

[ 本帖最后由 馨竹阁主 于 2009-8-4 19:18 编辑 ]
龙战新野惊宵小
虎啸山林慑群兽