即使输入为false,if语句也始终显示为true

时间:2013-09-26 20:14:24

标签: php registration

<?php

    include("connection2.php");     

    if(!empty($_POST['lrn'])  && !empty($_POST['password'])){

        $lrn = $_POST['lrn'];
        $pass = $_POST['password'];
        $check = "SELECT * from studentinf where LRN = '".$lrn."'";
        $qry = mysql_query($check);
        $num_rows = mysql_num_rows($qry); 
        $check2 = "SELECT * from studentinf where Password = '".$pass."'";
        $qry2 = mysql_query($check2);
        $num_rows2 = mysql_num_rows($qry2); 

        if($num_rows > 0){
            echo "<center>LRN is valid</center> ";
        }

        else 
            echo "<font color='#FF0000'><center>Your LRN is Invalid. <br>Please Contact your Web   Administrator for your LRN.</center></font>";


        if($num_rows2 != "")
        {
            echo "account already registered";            
        }

        else if ($num_rows2 == "")
        {
            echo "account not yet registered";
            $query = "UPDATE studentinf SET Password = '$pass' where LRN = '$lrn'";
            mysql_query($query);

            echo "Thank You for Registration.";
            echo '<br><a href="studentlogin.php">Click Here</a> to login your account.';
        }
    }
 ?>

1 个答案:

答案 0 :(得分:0)

如果我猜对你的if陈述是正确的,请尝试替换:

if($num_rows2 != "")
{
  echo "account already registered";
}
else
if ($num_rows2 == "")
{
  // ...
}

使用:

if ($num_rows2 > 0)
{
  echo "account already registered";
}
else
{
  // ...
}

$num_rows2是数字;将它与数字进行比较,而不是字符串。