用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,这样就方便了。