最近一段时间,PHP凭借其功能强大,简单易用的特点被越来越多的人们所喜爱和接受,成为目前最为流行的脚本编程语言之一。本文将结合用户在使用PHP过程中经常容易出现的问题,包括语法错误,程序运行错误以及逻辑错误等展开详细的介绍,希望能够对那些目前正在学习PHP语言的用
PHP编程纠错指南(2)
下面,我们再举一个更加复杂的例子进行说明。
现在,很多网络应用都需要对用户的身份进行验证。一个最简单的实现脚本可以如下:
〈?
$Password=“Secret”;
$Name=“admin”;
function VerifyPassword ($UserPassword, $UserName){
if ($Password=$UserPassword && $Name=$UserName){
return 1;
}
else { return 0;}
}
if (VerifyPassword (“foo1ish”,“admin”)){
print “The Password is correct”;
}
else {
print “I’m sorry, the password is incorrect”;
}
?〉
虽然在上述脚本中调用VerifyPassword函数时输入的是错误的密码,但是程序运行之后仍然会产生如下结果:
The Password is correct
问题可能会出现在任何地方,下面就让我们使用排除法一一检查。首先,我们很难确定脚本最后的“if”条件语句是否正确。虽然看上去好象是没有问题,但是为了确保程序正确无误,我们不能放过任何一个环节。因此,我们将该条件语句注释掉,同时按照前面介绍的方法对VerifyPassword()函数进行输出。具体如下:
〈?
$Password=“Secret”;
$Name=“admin”;
function VerifyPassword ($UserPassword, $UserName){
if ($Password=$UserPassword && $Name=$UserName){
return 1;
}
else { return 0;}
}
print “The result of VerifyPassword() is:”;
print VerifyPassword (“foo1ish”, “admin”);
/*if (VerifyPassword (“foo1ish”, “admin”)){
print “The Password is correct”;
}
else {
print “I’m sorry, the password is incorrect”;
}*/
?〉
因为我们使用了错误的密码,所以结果应当为0。但是程序运行之后,我们发现实际结果如下:
The result of VerifyPassword() is: 1

网友评论