<?php
//注意,当我们在页面调用同事输出session的时候,会发现输出的值跟实际图像不符合,总是慢一步,如果在前台验证肯定是不好办的,但是验证码是不应该在前台用js验证的,而应该在提交后在php端验证,这时候你会发现,session中的验证码值与你输入的是相同的
session_start();
$ch1=rand(65,90);
$ch2=rand(97,122);
$ch3=rand(65,90);
$ch4=rand(97,122);
$str=chr(rand(65,90)).” “.chr(rand(97,122)).” “.chr(rand(65,90)).” “.chr(rand(97,122));
$_SESSION['CAPTCHA']=$str;
header(“Content-type: image/png”);
$im = @imagecreate(110, 30)//新建一个基于调色板的图像
or die(“Cannot Initialize new GD image stream”);
$background_color = imagecolorallocate($im, 219, 123, 145);//为图像分配颜色,这里为全黑,第一次调用为指定图像背景色
$text_color = imagecolorallocate($im, 255, 255, 255);//为图像分配颜色
imagestring($im, 5, 10, 9,$str, $text_color);//在图像的水平方向写入字符串
imagepng($im);
imagedestroy($im);
?>
···
···