日期:2014-05-17  浏览次数:20589 次

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

------解决方案--------------------

<!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>

------解决方案--------------------
如果是你现在的方式,每次刷新都有errno带进去,该PHP文件的逻辑处理必然会带出这个信息。

一般是用session的方式,而不是带参数的方式。这样在php文件中先判断有无该session,有则显示错误信息并消除session,这样就方便了。