<? 
//checkNum.php 
session_start(); 
function random($len) 

$srcstr="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; 
mt_srand(); 
$strs=""; 
for($i=0;$i<$len;$i++){ 
$strs.=$srcstr[mt_rand(0,35)]; 

return strtoupper($strs); 

$str=random(4); //随机生成的字符串 
$width = 50; //验证码图片的宽度 
$height = 25; //验证码图片的高度 
@header("Content-Type:image/png"); 
$_SESSION["code"] = $str; 
//echo $str; 
$im=imagecreate($width,$height); 
//背景色 
$back=imagecolorallocate($im,0xFF,0xFF,0xFF); 
//模糊点颜色 
$pix=imagecolorallocate($im,187,230,247); 
//字体色 
$font=imagecolorallocate($im,41,163,238); 
//绘模糊作用的点 
mt_srand(); 
for($i=0;$i<1000;$i++) 

imagesetpixel($im,mt_rand(0,$width),mt_rand(0,$height),$pix); 

imagestring($im, 5, 7, 5,$str, $font); 
imagerectangle($im,0,0,$width-1,$height-1,$font); 
imagepng($im); 
imagedestroy($im); 
$_SESSION["code"] = $str;
?>这个是生成验证码图片的源码,
 调用是用 <img src=code.php border=0 align=absbottom onclick="this.src='code.php'" alt="点击图片切换">
这种方法调用的!
  
我的问题是输入验证码的时候 如何对验证码进行验证!
希望能帮忙详细解答一下!

解决方案 »

  1.   

    判断$_SESSION["code"]和输入的是否一致
      

  2.   

    if($_SESSION["code"]==$_POST['code']){
        echo"验证成功";
    } else {
        echo"验证失败";
    }
      

  3.   

    是在Check页面 判断还是 调用的那个页面判断?
    能不能详细说下啊!
    谢谢了!
    我真不会!
      

  4.   

    你提交过去的时候print_r一下session看看里面的值还在不
      

  5.   

    @ini_set('session.cache_expire',  180);
    @ini_set('session.use_trans_sid', 0);
    @ini_set('session.use_cookies',   1);
    @ini_set('session.auto_start',    0);放在程序入口处试一试
      

  6.   

    提交的页面判断  如果$_SESSION["code"] 是空的話  說話  在那個頁面沒有取到$_SESSION["code"]找找原因  看看session_start() 前邊有沒有空格什麼的然後if($_SESSION["code"]==$_POST['code']){
      echo"验证成功";
    } else {
      echo"验证失败";
    }
      

  7.   

    session_start之前不能有任何的输出
      

  8.   

    嗯  对  
    就是第一行少了  session_start();
    现在好了~~!呵呵
    感谢!