if(!ereg("^[a-zA-Z0-9]{2,10}$",$nicker))
{
$reason = "昵称没有没按要求填写,请检查";
$check = 0;
die($reason);
}$sql = "select nicker from user_info where nicker='$nicker'";
$result = mysql_query($sql) or die(mysql_error());
$num = mysql_num_rows($result);if ($num != 0)
{
$reason = "该用户已存在,如果您忘了密码,可以选择<a href=\"sendpwd.php\">密码发送</a>";
$check = 0;
die($reason);
}
{
$reason = "昵称没有没按要求填写,请检查";
$check = 0;
die($reason);
}$sql = "select nicker from user_info where nicker='$nicker'";
$result = mysql_query($sql) or die(mysql_error());
$num = mysql_num_rows($result);if ($num != 0)
{
$reason = "该用户已存在,如果您忘了密码,可以选择<a href=\"sendpwd.php\">密码发送</a>";
$check = 0;
die($reason);
}
if(condition1)
{
echo(result1);
exit;
}
if(condition2)
{
echo(result2);
exit;
}
或者,变通一下两个错误都输出 :)
if(!ereg("[a-zA-Z0-9]{2,10}$",$nicker))
{
$reason = "昵称没有没按要求填写,请检查";
//第一次付值,
$check = 0;
}$nicker = htmlspecialchars(str_replace("'","\'",stripslashes($nicker)));
$sql = "select nicker from user_info where nicker='$nicker'";
$result = mysql_query($sql) or die(mysql_error());
$num = mysql_num_rows($result);if ($num != 0)
{
$reason = "该用户已存在,如果您忘了密码,可以选择<a href=\"sendpwd.php\">密码发送</a>";
//第二次付值
$check = 0;
}
所以$reason肯定是输出用户已经存在等信息,因为不管前面条件符合与否
反正第二个条件是符合了!
第1个if不成立应该输出错误原因“昵称没有没按要求填写,请检查”
但却显示第2个if语句的错误原因“该用户已存在,如果您忘了密码,可以选择<a href=\"sendpwd.php\">密码发送</a>";”,这是为什么?怎么几决?
if(!ereg("[a-zA-Z0-9]{2,10}$",$nicker))
{
$reason = "昵称没有没按要求填写,请检查";
$check = 0;
}
else
{
$nicker = safe_convert($nicker);
$sql = "select nicker from user_info where nicker='$nicker'";
$result = mysql_query($sql) or die(mysql_error());
$num = mysql_num_rows($result);
if ($num != 0)
{
$reason = "该用户已存在,如果您忘了密码,可以选择<a href=\"sendpwd.php\">密码发送</a>";
$check = 0;
} }