在生成验证码的时候,已经注册了 SESSION[login_check_number]
你提交了输入的 number 变量,现在要和  session 比较$HTTP_POST_VARS["asub"] 是表单中的另一个变量,和 session 验证关系不大

解决方案 »

  1.   

    原来是PHP的还这么麻烦..
    HTTP_POST_VARS["asub"])): 这个看意思大概是post上来的数据.
    HTTP_SESSION_VARS[login_check_number]这个应该是session了.
    对两个进行比较啊.
    如果验证码不正确就弹出提示了.PHP 还没有看到这里,理解错误请包涵
      

  2.   

    if($HTTP_POST_VARS["number"] != $HTTP_SESSION_VARS[login_check_number] || empty($HTTP_POST_VARS["number"])){ 这边才用了一个或的运算符.不等..或者.验证码为空都提示验证码不正确..
      

  3.   

    还有这一段代码:
    <?php
    require_once("dbconfig.php");
    require_once("ip.php");
    if($username==''||$password=='')
    {
    require "logon_form.php";
    exit;
    }
    $userip=_GetIP();
    $password=md5($password);
    $query="select * from Voice_Agency where Account='$username' and PassWord='$password'";
    $id = mssql_connect($hostname,$dbuser,$dbpasswd) or die("无法连接数据库服务器!");
    $db = mssql_select_db($database,$id) or die("无法连接数据库!");
    $rresult = mssql_query($query) or die("无法执行SQL:$query");
    if(($nNumRows= mssql_num_rows($rresult))<=0)
    {
    $a = new COM("sqlcom.GXSql");
    $a->AddLogonLog($username,$userip,0);
    echo "<center>你输入的用户名或密码错误,[<a href='index.php'>返回</a>]</center>";
    exit;
    }
    else
    {
    $myrow=mssql_fetch_array($rresult);
    {
    session_register("user");
    session_register("ip");
    session_register("level");
    session_register("logonpath");
    $user=$myrow["Account"];
    $ip=_GetIP();
    $level=$myrow["type"];
    $s="{$_SERVER['SCRIPT_NAME']}"; 
    $s=substr($s,0,17);
    $logonpath=$s;
    $update = "UPDATE Voice_Agency set LastLogonTime=getdate(),LogonIP='$ip' where Account='$user'";
    $uresult = mssql_query($update) or die("无法执行SQL:$update");
    $a = new COM("sqlcom.GXSql");
    $a->AddLogonLog($user,$ip,1);
    }

    ?>
      

  4.   

    <?
    session_start();
    if(isset($HTTP_POST_VARS["asub"])) //如果post变量asub(可能是个提交按钮名)
    if($HTTP_POST_VARS["number"] != $HTTP_SESSION_VARS[login_check_number] || empty($HTTP_POST_VARS["number"])){ //如果post过来的number变量不等于session变量login_check_number或者number未配置
        echo "<center>验证码不正确![<a href='index.php'>返回</a>]</center>" ; 
    exit;
    }
    ?>
    那个endif没必要用
      

  5.   

    $HTTP_POST_VARS在新版本中可以写成$_POST
    以此类推