ie6,提交表单,提交的时候用到验证码,而这个验证是是放在其它域名上的,现在发现在我的ie6上,第一次打开1.html页面,验证码sesssion是空的,执行2.php,再返回,session才会有,什么原因?
1.html,放在aaa.com:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>vcode</title>
</head>
<body>
<input name="checkstr" type="text" size="4" maxlength="4" /><img id="vcodeimg" src="http://sss.com/randcheck.php" title="看不清楚吗?请点击刷新验证码" style="cursor:pointer;" onclick="this.src='http://sss.com/randcheck.php?temp=' + Math.random();">
<a href="seehttp://sss.com/2.php">查看session</a>
</body>
</html>
randcheck.php,放在sss.com下面:
<?php
session_start();
header("Content-type:image/png");
$width=50;//图片宽度
$height=20;//图片高度
$num=4;//随机数的数量
$dotnum=50;//干扰象素数量
$im=imagecreate($width,$height);
$bgcolor=imagecolorallocate($im,204,204,204);//背景颜色
$textcolor=imagecolorallocate($im,127,87,87);//文字颜色
//从数组中取出随机数
$array=array(a,b,c,d,e,f,g,h,j,k,m,n,p,q,r,s,t,u,v,w,x,y,z,2,3,4,5,6,7,8,9); 
$key=array_rand($array,$num); 
$str=""; 
for($i=0;$i<$num;$i++)
{
$str.=$array[$key[$i]];
}
$_SESSION['randstr']=$str;
$font=5;
$x=6;
$y=2;
imagestring($im,$font,$x,$y,$str,$textcolor);
//加入干扰象素
for($i=0;$i<$dotnum;$i++) 
{
$randcolor=imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255));
imagesetpixel($im,rand(0,$width),rand(0,$height),$randcolor);
}
imagepng($im);
imagedestroy($im);
?>
2.php,放在sss.com下面:
<?phpsession_start();print_r($_SESSION);?>