为什么php执行header语句而不执行echo语句

时间:2020-12-29 15:04:14

标签: javascript php echo alert

$count = mysqli_num_rows($result);  
          
if($count == 1){  
    echo "<h1><center> Login successful </center></h1>";  
} else{  
    echo "<script>alert('login failed! invalid username or password');</script>";
    header("Location: index.php")  ;
}     

我想在登录失败时显示警报消息,如果用户按确定,那么它应该再次返回登录页面。我尝试了上面的代码,但是,这不起作用。 浏览器移动到登录页面而不显示警报消息。 有没有其他方法可以解决这个问题?

1 个答案:

答案 0 :(得分:0)

echo 运行良好,但代码在 php 中同步。这就是为什么标头使用 echo 运行,但标头将您重定向到 index.php 和 echo 的原因有一段时间了。

如果消息存在于 SESSION 中,您可以将消息存储到 SESSION 并在 index.php 上显示:

.
.
else{
session_start();
$_SESSION['msg'] = 'Login failed! invalid username or password';
header("Location: index.php");

index.php:

session_start();
if(isset($_SESSION['msg'])){
 echo $_SESSION['msg'];
 unset($_SESSION['msg'];
}