我做了个登陆界面,当我用户名和密码为空提交时
就弹出 "用户名和密码不能为空" 然后在弹出 "登陆成功" 
其他形式也先后弹出两个提示,这是什么回事,
只有用户名和密码正确时才显示一个提示 "登陆成功"
以下我的代码.......大哥帮帮忙..<?php 
$host = "localhost";
$user_name = "root";
$password = "cnk8";
$database = "lyb";
mysql_connect("$host","$user_name","$password")or die("can't connect batabase");
mysql_select_db("$database");
$username = $_POST['username'];
$pw = $_POST['pw'];
if ($username==""&&$pw=="")
{
echo "<script language=javascript>
       alert('用户名和密码不能为空')
       </script>";
}
elseif ($username=="$username" && $pw=="")
{
echo "<script language=javascript>
      alert('密码不能为空')
      </script>";
}
elseif ($username=="" && $pw=="$pw")
{
echo "<script language=javascript>
      alert('用户名不能为空')
      </script>";
      
}
//获取用户名和密码
$sql = "select * from login where username = '$username'";
$resultsql = mysql_query("$sql");
$result = mysql_fetch_array($resultsql);//判断用户密码是否正确
if ($username!=$result['username'])
{
echo "<script>
      alert('用户名错误')
      </script>";
}
elseif ($pw!=$result['pw'])
{
echo "<script>
      alert('密码错误')
      </script>";
}else
 {
echo "<script>
      alert('登陆成功')
      </script>";
}
?>

解决方案 »

  1.   

    那个在判断语句里面
    如果不符合验证,
    echo后加上
    exit;//退出,不要执行下面的啦
      

  2.   


    if ($username==""&&$pw=="")
    {
        echo "<script language=javascript>
               alert('用户名和密码不能为空')
               </script>";
    }
    elseif ($username!=""&& $pw=="")
    {
        echo "<script language=javascript>
              alert('密码不能为空')
              </script>";
    }
    elseif ($username=="" && $pw!="")
    {
        echo "<script language=javascript>
              alert('用户名不能为空')
              </script>";
              
    }
      

  3.   

    在判断的后面加个exit,出错了就退出
      

  4.   


    进行到这一部的条件是,ta的用户名不为空,用户密码不为空。
    那么从数据库中搜索,用户名为这个用户名,用户密码为这个用户密码的记录,如果存在,就给他SESSION,如果不存在这样的记录就提示用户名密码错误(其实其中还包含的可能是该用户名根本不存在数据库中)。就是这样的过程//获取用户名和密码
    $sql = "select * from login where username LIKE '$username' AND psw LIKE '".md5($pw)."' ";一般用户密码都有加密的。