我的ie6,session验证码刚载入时为空

qvbfndcwy 2011-11-10 02:49:10
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下面:
<?php

session_start();

print_r($_SESSION);

?>
...全文
115 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
qvbfndcwy 2011-11-10
  • 打赏
  • 举报
回复
谢谢回答。
randcheck.php头部加上
header("P3P: CP=CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR");

似乎就可以了。
风柏杨 2011-11-10
  • 打赏
  • 举报
回复
老兄,貌似你在rendCheck.php里没有将生成的图片输出返回啊

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧