本帖最后由 majia_2009 于 2009-08-08 15:22:19 编辑

解决方案 »

  1.   


    如果只在客户端验证会不安全的,
    你可以采用ajax的方式来验证
      

  2.   

    还不会哦,刚刚学习php不到一个星期
      

  3.   

    那就客户端和服务器端都验证吧先将验证码的值赋给一个hidden
    js验证时拿这个值与用户输入的验证码对比如果正确,数据将会提交到服务器端,这个时候再用PHP验证一遍
      

  4.   

    是这样吗?<input type="hidden" id="test" value=<?php echo $_SESSION['codenumber']?>>但是这样之后,我如果点验证码的图片,刷新验证码之后,这个值就没有刷新哦但是如果在javascript:renumber里面重新个这个赋值的话,就又要调用session了要是在number.php那个文件里面刷新的话,也只能存在session里面,不知道怎么才能在更新验证码的同时,更新hidden的值了?
      

  5.   

    点验证码的图片就可以刷新了<img src="number.php" name="number" id="number" onclick="javascript:renumber()" alt="看不清,换一张" />
      

  6.   

    图片是生成在指定目录的吗?renumber怎么拿到图片路径的?
    能不能贴上来看看,或者讲一下具体的执行过程
      

  7.   


    <?php
    session_start();
    srand((double)microtime()*1000000);
    $im=imagecreate(45,20);
    $bk=imagecolorallocate($im,200,200,200);
    imagefill($im,0,0,$bk);
    $_SESSION["codenumber"]="";
    for($i=0;$i<4;$i++){
     $x=mt_rand(1,5);
     $y=mt_rand(1,3);
     $font=mt_rand(3,5);
     $tmp=dechex(mt_rand(0,15));
     $_SESSION['codenumber'].=$tmp;
     imagestring($im,$font,($x+$i*10),$y,$tmp,imagecolorallocate($im,rand(0,130),rand(0,130),rand(0,130)));

    imagepng($im);
    imagedestroy($im);
    ?>
      

  8.   

    function renumber()
    {
    document.getElementById('number').src="number.php?"+ Math.random();
    }
      

  9.   

    这样就比较麻烦
    采用ajax来做吧,很方便的
    查一下prototype.js或者jquery.js等框架的用法,选择其中一个框架来实现ajax,比较容易些,网上有很多使用教程的。
      

  10.   

    我刚学一个星期php哦,还要学javascript
    现在你又让我学ajax, prototype.js, jquery.js等。。
    我也想周末两天把这些都学会了,可惜我还没那么强悍
    关键是下个星期一就要出来效果,呵呵不过我用cookie实现了那个效果谢谢你这么热心!