在生成验证码的时候,已经注册了 SESSION[login_check_number]
你提交了输入的 number 变量,现在要和 session 比较$HTTP_POST_VARS["asub"] 是表单中的另一个变量,和 session 验证关系不大
你提交了输入的 number 变量,现在要和 session 比较$HTTP_POST_VARS["asub"] 是表单中的另一个变量,和 session 验证关系不大
HTTP_POST_VARS["asub"])): 这个看意思大概是post上来的数据.
HTTP_SESSION_VARS[login_check_number]这个应该是session了.
对两个进行比较啊.
如果验证码不正确就弹出提示了.PHP 还没有看到这里,理解错误请包涵
<?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);
}
}
?>
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没必要用
以此类推