<?php session_start();
if($_POST[check]){
if($_POST[check]!=$_SESSION[check_img]){
echo "验证码错误!";
}
}
-----------
如果验证码错误就不要提交数据到后台.怎么写啊

解决方案 »

  1.   

    <?php session_start();
    if($_POST[check]){
    if($_POST[check]!=$_SESSION[check_img]){
    echo "验证码错误!";
    ------这里------
    }
    }
    是写出来了! 但是你不在----这里----- 加以控制,虽然显示错误,但是数据不还提交到服务器去了吗.
      

  2.   

    但是要是严整不正确,返回提交页面,人家的提交内容不都空了吗.,还要从新写,而且我的服务器端的处理页面很容易就暴露出来了.难道还要使用AJAX 无刷新什么的!可是那样太复杂了,我不会啊 
      

  3.   

    第一个.不管你本地还是服务器验证 都得到服务器取这个验证码.所以你服务器端的什么处理页面暴露不暴露都是杞人忧天.
    第二个.不管你这个验证页面暴露不暴露 他都是要露给用户的。不是别人知道这个文件就能够怎么样了,别担心。别把PHP想得太脆弱了,其实他是一夜七次郎。
    第三个.提交的内容在验证失败后可以返回给表单,表单再读取显示出来原来输出的内容.这只是处理问题的一种方式,还有很多种方法可以让记录仍然存在,例如表单的 autocomplete 选项,可能很多人都忽略了吧.
    第四个.ajax实在没有你们想像的那么复杂,好吧,Jquery 的ajax提交 一句代码的工作.
    第五个.如果现在设计交互内容还不是用ajax的话,那实在是 “这种用户体验太糟糕了!"
      

  4.   

    用js跳转到首页不就行了。
    <?php 
    session_start();
    if($_POST[check]){
    if($_POST[check]!=$_SESSION[check_img]){
          echo "验证码错误!";
          echo "<script>window.location='index.php'</script>";
          exit();
    }esle{
          .......提交数据
    }
    }