PHP验证码代码问题

<?php
session_start();
header('content-type:image/png');
$im=imagecreate(50,20);
$bgcolor=imagecolorallocate($im,245,239,250);
imagefill($im,0,0,$bgcolor);

$nums=array('A','B','C','D','E','F','G','H','J','K','4','5','6','7','2','3','8','9');//18

$codes='';

for($i=0;$i<40;$i++)
{
$color=imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255));
imagesetpixel($im,rand(0,50),rand(0,20),$color);
}

for($i=0;$i<4;$i++)
{
$fontcolor=imagecolorallocate($im,rand(0,160),rand(0,160),rand(0,160));
$num=$nums[rand(0,17)];
$codes.=$num;
imagestring($im,5,$i*10+6,rand(2,4),$num,$fontcolor);
}

imagepng($im);
imagedestroy($im);
$codes=strtolower($codes);
$_SESSION[code]=$codes;
header("Content_type: image/ipeg");
imagejpeg($im);
?>
这个是2.php文件
session_start();
if($_POST[check]){
if($_POST[check]==$_SESSION[code]);{
echo"验证码正确",$_SESSION[code];
}else{
echo"验证码错误",$_SESSION[code];
}
}

<form action="" method="post">

<img src='2.php'><br>

<input type="text" name="check" ><br>
<input type="submit" value="提交" ><br>

</form>
这个是要输出的验证码验证文件。第一个文件可以显示验证码,但不知道为什么不能输出没分了不好意思啊

<form action="" method="post">

<img src='2.php'><br> “ 这句调用的文件对不,是你第一个文件不?你把这个 2.php换成你验证码的那个文件试试

<input type="text" name="check" ><br>
<input type="submit" value="提交" ><br>

</form>追问

问题找到了if($_POST[check]){
if($_POST[check]==$_SESSION[code]);{
echo"验证码正确",$_SESSION[code];
}else{
echo"验证码错误",$_SESSION[code];
}那个CODE没加引号不过还是谢谢了

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-10-31
你的php.ini文件有开 这个image 模块么(就是 extension=php_gd2.dll 这个前面的‘;’有去掉么)?