用php做登陆页面,跟数据库里的数据做验证,如果输入的用户名或密码不符则提示“用户名或密码不正确”的错误信息,用这样的语句返回 header(“Location:login.php?errno=1”),在login.php页面中用$_GET接收errno,可以login.php页面中成功看到“用户名或密码不正确”这样的信息,但是如果这时候刷新页面的话却刷不掉这个信息,请问有没有什么方法可以让“用户名或密码不正确”这句话在刷新时消失掉?

解决方案 »

  1.   


    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
     <head>
      <meta http-equiv="content-type" content="text/html;charset=utf-8">
      <title> login </title>
     </head> <body>
    <?php
    $errno = isset($_GET['errno'])? $_GET['errno'] : '';
    if($errno==1){
    echo '<script type="text/javascript">';
    echo 'alert("用户名或密码不正确");';
    echo 'window.location = "login.php";';
    echo '</script>';
    }
    ?>  
     <p>用户名:<input type="text" name="username"></p>
     <p>密码:<input type="password" name="password"></p>
     <p><input type="submit" value="登入"></p> </body>
    </html>
      

  2.   

    如果是你现在的方式,每次刷新都有errno带进去,该PHP文件的逻辑处理必然会带出这个信息。一般是用session的方式,而不是带参数的方式。这样在php文件中先判断有无该session,有则显示错误信息并消除session,这样就方便了。