drzil26260 2012-07-10 09:59
浏览 61
已采纳

为什么即使在第一次加载页面时出现“错误的用户名/密码”警报?

I have a login form and when I get to the page, it gives me automatically the alert message. I havn't put the username and password info yet.
Here is the page that does the verification of the login form input, Please see why it is behaving like that?

<?
session_start();
include "config.php";

if(isset($_SESSION["login_user"]) AND isset($_SESSION['pass_user'])){
    $login_user = $_SESSION["login_user"];
    $pass_user = $_SESSION["pass_user"];

$sql = mysql_query("SELECT * FROM adm WHERE login = '$login_user'");
$cont = mysql_num_rows($sql);
while($linha = mysql_fetch_array($sql)){
    $pass_db = $linha['pass'];
}

if($cont == 0){
    unset($_SESSION["login_user"]);
    unset($_SESSION["pass_user"]);

    echo "
    <META HTTP-EQUIV=REFRESH CONTENT='0; URL=login.php'>
    <script type=\"text/javascript\">
    alert(\"Name of user dont match.\");
    </script>";

}

if($pass_db != $pass_user){//check pass

    unset($_SESSION["login_user"]);
    unset($_SESSION["pass_user"]);

    echo "
    <META HTTP-EQUIV=REFRESH CONTENT='0; URL=login.php'>
    <script type=\"text/javascript\">
    alert(\"Password dont match.\");
    </script>";

}

}else{

    echo "
    <META HTTP-EQUIV=REFRESH CONTENT='0; URL=login.php'>
    <script type=\"text/javascript\">
    alert(\"User and password dont match.\");
    </script>";

}

?>
  • 写回答

3条回答 默认 最新

  • douwu5428 2012-07-10 10:07
    关注

    I guess you have just misplaced an else:

    <?
    session_start();
    
    include "config.php";
    
    if(isset($_SESSION["login_user"]) AND isset($_SESSION['pass_user'])){
    
        $login_user = $_SESSION["login_user"];
        $pass_user = $_SESSION["pass_user"];
    
    $sql = mysql_query("SELECT * FROM adm WHERE login = '$login_user'");
    $cont = mysql_num_rows($sql);
    while($linha = mysql_fetch_array($sql)){
        $pass_db = $linha['pass'];
    }
    
    if($cont == 0){
    
        unset($_SESSION["login_user"]);
        unset($_SESSION["pass_user"]);
    
        echo "
        <META HTTP-EQUIV=REFRESH CONTENT='0; URL=login.php'>
        <script type=\"text/javascript\">
        alert(\"Name of user dont match.\");
        </script>";
    
    }
    
    if($pass_db != $pass_user){//check pass
    
        unset($_SESSION["login_user"]);
        unset($_SESSION["pass_user"]);
    
        echo "
        <META HTTP-EQUIV=REFRESH CONTENT='0; URL=login.php'>
        <script type=\"text/javascript\">
        alert(\"Password dont match.\");
        </script>";
    
    }else{
    
        echo "
        <META HTTP-EQUIV=REFRESH CONTENT='0; URL=login.php'>
        <script type=\"text/javascript\">
        alert(\"User and password dont match.\");
        </script>";
    
    }
    }
    ?> 
    

    However, As mentioned by @David, you should not specify that only password is wrong.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 在若依框架下实现人脸识别
  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同