不知道下面代码有什么错,在本地都是正确的 放到服务器上,出来的结果不是想要的了. 似乎$_SESSION 数据有问题.<?php
@session_start();
$rand = $_SESSION['verifycode'];
$_REQUEST['c'] && $rand = '';
!$rand && $rand = "".rand(1000, 9999);
$_SESSION['verifycode'] = $rand;
$verifycode = '0000000';
$verifycode[0] = $rand[0];
$verifycode[1] = chr(rand(65,122));
$verifycode[2] = $rand[1];
$verifycode[3] = chr(rand(65,122));
$verifycode[4] = $rand[2];
$verifycode[5] = chr(rand(65,122));
$verifycode[6] = $rand[3];
$verifycode[7] = chr(rand(65,122));
$image = imagecreatetruecolor(80, 20);
imagefill($image , 0 , 0 , imagecolorallocate($image, 255, 255, 255));
$digital = imagecolorallocate($image, 255, 0, 0);
$letter = imagecolorallocate($image, 0, 0, 0);
for($i = 0 ;  $i < 8 ; $i++)
{
    imagettftext($image, 12, 0, 3 + $i * 8 ,17, ord($verifycode[$i]) > 64 ? $letter : $digital  , dirname(__FILE__).'/resource/simsun.ttc', $verifycode[$i]);
}
header('content-type:image/jpg');
echo imagejpeg($image);?>http://www.yangxianxueya.com/verifyimage.php  这个是网站上的路径.不过你们访问不了... 生成图的本意是 8个字符 其中4个是红色的数字. 到了服务器上.$_SESSION 取出的值变了...
服务器是 W2003 的 我本地是 LAMP...

解决方案 »

  1.   

    接分!!!!!
    你这样的设计会有很多漏洞的!!介意你写一个自己设计的SESSION类!!!那个更好!!!
      

  2.   

    为什么要设计session 类.
    我刚才查到问题所在了..服务器 开了 register_global$verify_code  把 $_Session 中的 值顶掉了...晕死..这不是很危险么...
      

  3.   

     
    php.ini中的register_globals决定是否将 EGPCS(Environment,GET,POST,Cookie,Server)变量注册为全局变量。
    PHP » 4.2.0 开始,本选项默认为 off。想知道你的是什么时候打开的 --!