这是一个简单的登录系统,任何时候用户收到错误我将它们重定向到另一个页面(使用标题(位置:...))并将错误ID放在URL中,以便我知道哪个错误显示。
的login.php
<?php
if(isset($_GET[ 'status'])){
if($_GET[ 'status']=='error' ){
?>
<p style='color:red;'>Incorrect Username/Password combination!</p>
<?php
} }
?>
&#13;
Checklog.php
<?php
include('../dbconnect.php');
$username =$_POST['form-username'];
$pwd =$_POST['form-password'];
$result = mysql_query("SELECT * FROM member WHERE email='$username' and password='$pwd'") or die ('Query failed:'.mysql_error());
//$admin=mysql_query("SELECT * FROM admin where user='$username' and code='$pwd'") or die ('Query failed:'.mysql_error());
if (mysql_num_rows($result)>0){
session_start();
$_SESSION['user']=$username;
//echo "hello $username";
header("Location:../homepage.html");
}
/*else if (mysql_num_rows($admin)>0){
session_start();
$_SESSION['admin']=007;
header("Location:add1.php");
}*/
else
{
header("Location:login.php?status=error");
}
mysql_free_result($result);
mysql_close($con);
?>
&#13;
在刷新时,错误消息仍然在这里,是否有一个解决方案如何将用户重定向到原始login.php而不刷新错误消息
答案 0 :(得分:1)
您可以使用javascript window.history.pushState
在文档完全加载后更改URL。这将更改地址栏中的URL并影响刷新时的地址。
或者,您可以在$_SESSION
中存储消息,并在消息显示后清除消息。
答案 1 :(得分:0)
我同意henrys的回答。个人id使用$ _SESSIONS,但正如你的问题是删除url参数唯一的方法是js。
例如
history.pushState(null,null, window.location.href.split('?')[0]);
这是未经测试的,但应该在一行代码中执行您想要的操作。