下面是验证码的代码,怎样得到验证码的值??? 是$_SESSION['code']吗? 但是输出是空的
//code.php<?PHP
error_reporting(0);
session_start();
session_register('code');
$_SESSION['code'] = '';
$width = '58';//图片宽
$height = '25';//图片高
/*for ($i=0; $i<4; $i++) {
$tmptext=rand(0, 9);
$code .= $tmptext;
}*/
function createRandomStr($strLen)//随机生成验证码
{
list($usec, $sec) = explode(' ', microtime());
(float) $sec + ((float) $usec * 100000);
$number = '';
$number_len = $strLen;
$stuff = '123456789ABCDEFGHIJKLMNPQRSTUVWXYZ';//附加码显示范围ABCDEFGHIJKLMNOPQRSTUVWXYZ
$stuff_len = strlen($stuff) - 1;
for ($i = 0; $i < $number_len; $i++) {
$number .= substr($stuff, mt_rand(0, $stuff_len), 1);
}
return $number;
}
$code=createRandomStr(4);//得到验证码4位数
@header("Expires: -1");
@header("Cache-Control: no-store, private, post-check=0, pre-check=0, max-age=0", FALSE);
@header("Pragma: no-cache");
if(function_exists('imagecreate') && function_exists('imagecolorset') && function_exists('imagecopyresized') && function_exists('imagecolorallocate') && function_exists('imagesetpixel') && function_exists('imagechar') && function_exists('imagecreatefromgif') && function_exists('imagepng')) {
$im = imagecreate($width, $height);
$backgroundcolor = imagecolorallocate ($im, 255, 255, 255);
$numorder = array(1, 2, 3, 4);
shuffle($numorder);
$numorder = array_flip($numorder);
//print_r ($numorder);
for($i = 1; $i <= 4; $i++) {
$x = $numorder[$i] * 13 + mt_rand(0, 4) - 2;
$y = mt_rand(0, 3);
$text_color = imagecolorallocate($im, mt_rand(50, 255), mt_rand(50, 128), mt_rand(50, 255));
imagechar($im, 5, $x + 5, $y + 3, $code[$numorder[$i]], $text_color);
//echo $code[$numorder[$i]];
fwrite($ss, $code[$numorder[$i]]);
}
$linenums = mt_rand(10, 32);
/*for($i=0; $i <= $linenums; $i++) {
$linecolor = imagecolorallocate($im, mt_rand(0, 255), mt_rand(0, 255), mt_rand(0, 255));
$linex = mt_rand(0, $width);
$liney = mt_rand(0, $height);
imageline($im, $linex, $liney, $linex + mt_rand(0, 4) - 2, $liney + mt_rand(0, 4) - 2, $linecolor);
}
for($i=0; $i <= 40; $i++) {
$pointcolor = imagecolorallocate($im, mt_rand(50, 255), mt_rand(50, 255), mt_rand(50, 255));
imagesetpixel($im, mt_rand(0, $width), mt_rand(0, $height), $pointcolor);
}*/////加入干扰象素
$bordercolor = imagecolorallocate($im , 150, 150, 150);
imagerectangle($im, 0, 0, $width-1, $height-1, $bordercolor);
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
}
?>
//show.php
<?php
$_SESSION['code'];//空的
?>