首先,你确定name和pass是表temp中的字段吗?
其次,
elseif ($login_username != $name )
{
echo "您的密码不正确!";
}
这句写错了吧,前面先加上
$row = mysql_fetch_array($result);
判断时用 else if ($login_userpass != $row['pass']) {echo "您的密码不正确!";}

解决方案 »

  1.   

    $result = mysql_query ($query);
    要指定你數據庫連接的DB
    比如你的$DB = mysql_connect($server, $user, $password);
    這就要改為
    $result = mysql_query ($query, $DB);而且else後面要加
    {
    ....
    }
      

  2.   

    $name没有值,也没有意义,同意楼上的。要再加了mysql_fetch_array($result);
    从这句里得出数据库里的得出name的值再跟登陆的值作比较。
      

  3.   

    还有,如果$login_username是post来的需要用$_POST['login_username']
      

  4.   

    //暂且不管你的$login_username,$login_userpass是否真能得到,假设得到了吧
    <?
    if ( $login_username == "" )
    {
        echo "请输入用户名!";
    }
    elseif ( $login_userpass == "" )
    {
        echo "请输入密码!";
    }
    else
    {
        $query  = "select pass from temp where name = '$login_username'";//从temp表查询
        $result = mysql_query ($query);
        $rows   = mysql_num_rows ($result);
        if ( $rows == 0 )//如果没有找到数据
        {
             echo "该用户名不存在!";
             exit;
        }
        else//有数据
        {
            $arr = mysql_fetch_array($result);//取数组
            if($login_userpass != $arr['pass'])//如果密码不符
            {
                echo "您的密码不正确!";
                exit;
            }
            else//密码符合 
            {
                 echo "您已经成功登陆!";
                 exit;
            }
        }
    }
    ?>
      

  5.   

    忘了说你的错误了,极有可能是你没有找到符合的数据,你可以在mysql_query ,mysql_num_rows ,mysql_fetch_array前加上@来屏蔽掉。
      

  6.   

    问题出在这行
    $result = mysql_query ($query);同意OutlawStar(小人物) 的建议
      

  7.   

    如果你连接的数据库是localhost
    但是你的PHP所用的mysqlclient版本,和mysqlserver版本不同
    就有可能出现这种问题!
      

  8.   

    判断前加上这句 $row = mysql_fetch_array($result);