$_nmsg='';
for($i=0;$i<4;$i++){
    $_nmsg.=dechex(mt_rand(0,15));
}

解决方案 »

  1.   

    session_start();

    //随机码的个数
    //$_rnd_code = 4;

    $_nmsg=' ';
    //创建随机码
    for($i=0;$i<4;$i++){
    $_nmsg.=dechex(mt_rand(0,15));
    }

    //保存session
    $_SESSION['code']=$_nmsg;

    //长和高
    $_width = 75;
    $_height = 25;

    //创建一张图像
    $_img = imagecreatetruecolor($_width,$_height); //白色
    $_white = imagecolorallocate($_img,255,255,255);

    //填充
    imagefill($_img,0,0,$_white);

    $_flag = false;

    if($_flag){
    //黑色边框
    $_black = imagecolorallocate($_img,0,0,0);
    imagerectangle($_img,0,0,$_width-1,$_height-1,$_black);
    }

    //随机画出6个线条
    for($i=0;$i<6;$i++){
    $_rnd_color = imagecolorallocate($_img,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255));
    imageline($_img,mt_rand(0,$_width),mt_rand(0,$_height),mt_rand(0,$_width),mt_rand(0,$_height),$_rnd_color);

    }

    //随机雪花
    for($i=0;$i<100;$i++){
    $_rnd_color = imagecolorallocate($_img,mt_rand(200,255),mt_rand(200,255),mt_rand(200,255));
    imagestring($_img,1,mt_rand(1,$_width),mt_rand(1,$_height),'*',$_rnd_color);
    }

    //输出验证码
    for($i=0;$i<strlen($_SESSION['code']);$i++){
    $_rnd_color = imagecolorallocate($_img,mt_rand(0,100),mt_rand(0,150),mt_rand(0,200));
    imagestring($_img,5,$i*$_width/$_rnd_code+mt_rand(1,10),mt_rand(1,$_heght/2),$_SESSION['code'][$i],$_rnd_color);
    }
    //输出图像
    header('Content-Type:image/png');
    imagepng($_img);
    写完之后,还是显示
      

  2.   

    <br />
    <b>Notice</b>:  Undefined variable: _rnd_code in <b>D:\AMP\web\ide_tmp.php</b> on line <b>53</b><br />
    <br />
    <b>Warning</b>:  Division by zero in <b>D:\AMP\web\ide_tmp.php</b> on line <b>53</b><br />
    <br />
    <b>Notice</b>:  Undefined variable: _heght in <b>D:\AMP\web\ide_tmp.php</b> on line <b>53</b><br />
    <br />
    <b>Warning</b>:  mt_rand(): max(0) is smaller than min(1) in <b>D:\AMP\web\ide_tmp.php</b> on line <b>53</b><br />
    <br />
    <b>Notice</b>:  Undefined variable: _rnd_code in <b>D:\AMP\web\ide_tmp.php</b> on line <b>53</b><br />
    <br />
    <b>Warning</b>:  Division by zero in <b>D:\AMP\web\ide_tmp.php</b> on line <b>53</b><br />
    <br />
    <b>Notice</b>:  Undefined variable: _heght in <b>D:\AMP\web\ide_tmp.php</b> on line <b>53</b><br />
    <br />
    <b>Warning</b>:  mt_rand(): max(0) is smaller than min(1) in <b>D:\AMP\web\ide_tmp.php</b> on line <b>53</b><br />
    <br />
    <b>Notice</b>:  Undefined variable: _rnd_code in <b>D:\AMP\web\ide_tmp.php</b> on line <b>53</b><br />
    <br />
    <b>Warning</b>:  Division by zero in <b>D:\AMP\web\ide_tmp.php</b> on line <b>53</b><br />
    <br />
    <b>Notice</b>:  Undefined variable: _heght in <b>D:\AMP\web\ide_tmp.php</b> on line <b>53</b><br />
    <br />
    <b>Warning</b>:  mt_rand(): max(0) is smaller than min(1) in <b>D:\AMP\web\ide_tmp.php</b> on line <b>53</b><br />
    <br />
    <b>Notice</b>:  Undefined variable: _rnd_code in <b>D:\AMP\web\ide_tmp.php</b> on line <b>53</b><br />
    <br />
    <b>Warning</b>:  Division by zero in <b>D:\AMP\web\ide_tmp.php</b> on line <b>53</b><br />
    <br />
    <b>Notice</b>:  Undefined variable: _heght in <b>D:\AMP\web\ide_tmp.php</b> on line <b>53</b><br />
    <br />
    <b>Warning</b>:  mt_rand(): max(0) is smaller than min(1) in <b>D:\AMP\web\ide_tmp.php</b> on line <b>53</b><br />
    <br />
    <b>Notice</b>:  Undefined variable: _rnd_code in <b>D:\AMP\web\ide_tmp.php</b> on line <b>53</b><br />
    <br />
    <b>Warning</b>:  Division by zero in <b>D:\AMP\web\ide_tmp.php</b> on line <b>53</b><br />
    <br />
    <b>Notice</b>:  Undefined variable: _heght in <b>D:\AMP\web\ide_tmp.php</b> on line <b>53</b><br />
    <br />
    <b>Warning</b>:  mt_rand(): max(0) is smaller than min(1) in <b>D:\AMP\web\ide_tmp.php</b> on line <b>53</b><br />
    ‰PNG
    按错误信息修改
    然后得:
    仍然是不友好的“验证码”图片
      

  3.   

    将header注释掉,打开错误就可以看到错误。